Post on 28-Oct-2015
Capítulo I
1.1. IntroducciónPara comenzar con el análisis del Sistema Gestor de Base de Datos SQL Server 2012 primero debemos de conocer conceptos básicos tales como Administrador de Base de Datos y Sistema Gestor de Base de Datos en donde tenemos las siguientes definiciones:
Sistema de Gestión de Bases de Datos (SGBD) es un conjunto de programas que permiten el almacenamiento, modificación y extracción de la información en una base de datos, además de proporcionar herramientas para añadir, borrar, modificar y analizar los datos.
Fuente WikipediaEl Administrador de bases de datos (DBA) es el profesional de tecnologías de la información y la comunicación, responsable de los aspectos técnicos, tecnológicos, científicos, inteligencia de negocios y legales de bases de datos.
Fuente Wikipedia
Con lo cual al unir la labor del administrador de Base de Datos con el Sistema Gestor de Base de Datos lograremos el manejo y dirección adecuada de los Datos que tenemos almacenados en la Base de Datos.Con esto logramos percatarnos de que el DBA y el SQBD van cogidos de la mano ya que ambos son dependientes uno el otro.Al estudiar en una pequeña parte al SGBD SQL Server 2012 nos realizamos las siguientes preguntas:¿Por qué utilizar SQL Server 2012 como SGBD en una empresa?¿Cuáles son las facilidades que me brinda este SGBD al momento de manipular la información de la Base de Datos?¿Cuáles son las características personales que debe de tener el DBA?Actualmente existen diversos SGBD en el mercado los cuales se dividen en libres y privativos en donde las diversas empresas necesitan conocer y saber escoger cuál de todos ellos es el conveniente para utilizar en sus instituciones de trabajo para manejar los datos que esa empresa almacena y así mismo el Administrador de Base de Datos deberá aprender a conocer cuál es el flujo de información y las facilidades que brinda dicho gestor.En la siguiente Investigación trataremos temas relacionado al Sistema Gestor de Base de Datos SQL Server 2012 en argumentos como:
Arquitectura de la bases de datosMejores prácticas de instalaciónServicios, puertos, archivos de configuración, entornos de variables Arranque y parada de la base de datos Usuarios, roles, privilegios y perfiles Copias de seguridad y recuperación (Jobs)Auditoría (Gestión de log)
1.2. Tema “Administración de bases de datos un enfoque práctico usando Oracle 11G R2, SQL Server 2012, PostgreSQL 9.2 y MySQL 5.0”
1.3. Objetivos.Objetivo GeneralInvestigar el Sistema Gestor de Base de Datos SQL Server 2012 en lo que se refiere a la administración de Base de Datos para exponerlo ante los compañeros de clases.
Objetivo Específico
Investigar el Sistema Gestor de Base de Datos SQL Server 2012.
Exponer dicha investigación ante los compañeros de clases.
Analizar al SGBD SQL Server 2012 como Administradores de Base de Datos.
Conocer el manejo de transferencia de los datos en este SQGB.
ContenidoMicrosoft SQL Server 2012..........................................................................................................5
Capítulo I......................................................................................................................................8
Administración de SQL Server 2012.............................................................................................8
Arquitectura de SQL Server 2012.................................................................................................8
Arquitectura de Bases de Datos SQL Server..........................................................11
Microsoft SQL Server 2012
Microsoft SQL Server 2012 es un sistema para la gestión de bases de datos producido por Microsoft basado en el modelo relacional. Sus lenguajes para consultas son T-SQL y ANSI SQL. Microsoft SQL Server constituye la alternativa de Microsoft a otros potentes sistemas gestores de bases de datos como son Oracle, PostgreSQL o MySQL.
Microsoft SQL Server es una plataforma de información preparada para la nube que ayudará a las organizaciones desbloquear innovadoras ideas a través de las organizaciones y crear rápidamente soluciones para extender los datos a través de la nube en las instalaciones y el público.
SQL Server 2012 proporciona Confianza de misión crítica con mayor tiempo activo, rendimiento ultra rápido y características mejoradas de seguridad para cargas de trabajo de misión crítica; Avances innovadores con exploración de datos de auto-servicio administrado y capacidades asombrosas e interactivas de visualización de datos; La nube en sus propios términos al habilitar la creación y extensión de soluciones a lo largo de la nube en las instalaciones y en la nube pública.
Características de Microsoft SQL Server 2012
Soporte de transacciones.
Soporta procedimientos almacenados.
Incluye también un entorno gráfico de administración, que permite el uso
de comandos DDL y DML gráficamente.
Permite trabajar en modo cliente-servidor, donde la información y datos se alojan en
el servidor y los terminales o clientes de la red sólo acceden a la información.
Además permite administrar información de otros servidores de datos.
Es común desarrollar completos proyectos complementando Microsoft SQL Server y Microsoft
Access a través de los llamados ADP(Access Data Project). De esta forma se completa la base
de datos (Microsoft SQL Server), con el entorno de desarrollo (VBAAccess), a través de la
implementación de aplicaciones de dos capas mediante el uso de formularios Windows.
En el manejo de SQL mediante líneas de comando se utiliza el SQLCMD, osql, o PowerShell.
Para el desarrollo de aplicaciones más complejas (tres o más capas), Microsoft SQL
Server incluye interfaces de acceso para varias plataformas de desarrollo, entre ellas .NET,
pero el servidor sólo está disponible para Sistemas Operativos
¿Porqué Utilizar MS SQL Server en las empresas?
Para escoger un sistema de gestor de base de datos en una empresa se debe de seleccionar
ciertos puntos que este gestor debe de cumplir, MS SQL Server nos brinda las siguientes
opciones en torno a sus capacidades.
Alta Disponibilidad
Las organizaciones de hoy necesitan alta disponibilidad que ofrece máximo tiempo de actividad, disponibilidad de datos y cumple con las normas de cumplimiento.
Manejabilidad
Las empresas necesitan hoy en día las herramientas de productos adecuados para gestionar todo el ciclo de vida de la base de datos, así como servicios y soporte, toda la empresa.
Rendimiento Y Escalabilidad
Un rendimiento ultrarrápido de Excel para el motor de base de datos respaldada por referencias comprobadas.
Seguridad Y Cumplimiento
SQL Server ofrece la base de datos más segura entre los proveedores de bases de datos más importantes.
Soluciones de SQL Server 2012 ofrecen todo lo necesario para cumplir con las políticas de cumplimiento - fuera de la caja. SQL Server 2012 hace que sea aún más fácil para las organizaciones cumplir con las políticas de cumplimiento.
Ediciones principales de SQL Server 2012
EnterpriseEnterprise para Misión crítica & Almacenamiento de datos de las aplicaciones
Alta disponibilidad avanzada conAlwaysOn
Almacenamiento de datos de alto rendimiento con ColumnStore
Virtualización máxima (con Software Assurance)
Incluye las capacidades de la edición Business Intelligence
Business IntelligenceBusiness Intelligence para auto-servicio premium y Corporate Business Intelligence
Descubrimiento rápido de datos conPower View
Informes y análisis corporativos y escalables
Servicios de calidad de datos yServicios de datos maestros
Incluye las capacidades de la edición Standard
StandardStandard sigue ofreciendo capacidades básicas de base de datos, informes y análisis
Capítulo I
Administración de SQL Server 2012
Arquitectura de SQL Server 2012 A continuación, les describiré brevemente sobre los componentes principales que conforman este aplicativo de servidor, denominado formalmente como Gestor de Administración de Datos de Microsoft, “MS SQL Server 2012”.
La presente descripción a exponer, es con el fin de brindarte una visión global sin tanto
tecnicismo, sobre los pilares de cómo está constituida:
Como se refleja en el gráfico anterior, MS SQL Server 2012 se encuentra constituido sobre
tres (3) grandes componentes como lo son:
Los Servicios del servidor.
Las Instancias del servidor.
Las Herramientas con las cuales administramos el servidor.
Ahora, vamos a desglosar cada uno de estos componentes de forma breve:
SERVICIOS
Para definir este término, debemos tener claro dentro del contexto en la cual nos estamos
refiriendo, y este contexto es el Sistema Operativo MS Windows. Por lo cual, lo
denominado ‘Servicios’ son aplicaciones que se inician sin interacción del usuario, por lo
general, al iniciar la maquina en la cual se ejecuta este servidor.
Cuando SQL Server es instalado en un equipo, son muchos los servicios que se instalan y
ejecutan en la computadora. Por ende, dependiendo de las opciones que se escojan
durante la instalación, los mismos serán incluidos.
A continuación, he aquí algunos de ellos:
El motor de base de datos, que es el responsable de ejecutar comandos T-SQL,
XML y demás lenguajes que soportan este servidor, así como la administración de
las bases de datos, memoria y capacidad de discos de almacenamiento, etc.
El Agente del servidor, que es el responsable de ejecutar las tareas administrativas
agendadas, monitorear el sistema en general así como definir condiciones de
alertas entre otros.
Los componentes BI, todo lo referente a las herramientas para crear aplicativos para
Inteligencia de Negocio como lo son Integration Services, Analysis Services y
Reporting Services.
INSTANCIAS
Se podría decir que la unidad básica de ejecución del programa para SQL Server es una
‘Instancia’.
Una ‘Instancia’ es una copia del programa ejecutable del servidor SQL, que se ejecuta
como un servicio de Windows. En otras palabras, cada instancia al momento de ser
instalado en la computadora, se convierte en un servicio de Windows. Lógicamente, la
misma representan los programas y recursos asignados que soportan UNA COPIA
SIMPLE, por así decirlo, de SQL Server ejecutándose tal como los archivos de
configuración, memoria asignada y CPU.
Se puede instalar tantas instancias como se deseen en el computador de su conveniencia
teniendo en cuenta la capacidad de hardware que dispongan para las mismas.
Cabe también hacer mención de manera enfática que cada ‘Instancia’ es AISLADA de las
otras que tengan instalada, lo cual nos indican que cada una de ellas representa su
consumo propio de requerimientos en los servicios que hayan querido instalar, por
ejemplo:
1ra. instancia: El motor de base de datos (Lease: SSDE) y los servicios de
integración de datos (Lease: SSIS).
2da. instancia: El motor de base de datos ‘SSDE’ y los servicios de analisis de datos
(Lease: SSAS).
3ra. instancia: El motor de base de datos ‘SSDE’ y los servicios de reportes (Lease:
SSRS).
HERRAMIENTAS
Al momento de instalar el servidor ‘MS SQL Server 2012’, se pueden acceder a una serie
de herramientas para gestionar, desarrollar y consultar la misma.
SQL Server Management Studio ó ‘SSMS’ es una aplicación donde de manera
integrada, administramos, desarrollamos y consultamos el servidor. El gráfico
anterior lo describe ampliamente.
SQLCMD es el cliente para acceder a través de la línea de comando, a SQL Server
desde esta interfaz. Con esta, podemos escribir comandos T-SQL de igual forma
que en SSMS pero de manera alternativa trabajamos desde aquí sin ninguna
interfaz gráfica.
SQL Server Configuration Manager es la herramienta donde los administradores
trabajan para administrar el software del servidor instalado, los servicios que están
en ejecución, etc.
SQL Server Installation Center, el cual nos provee un mecanismo para añadir, remover y modificar características del servidor y/o servidores instalado (s).
Arquitectura de Bases de Datos SQL ServerLa arquitectura interna de las bases de datos en SQL Server están compuestas por 2 tipos de estructura, la estructura lógica y la estructura física. Es muy importante conocer cómo es que estas estructuras están compuestas y cuál es la relación que tienen los objetos de base de datos con cada una de estas estructuras.
Estructura Lógica:Desde el punto de vista lógico, la base de datos debe tener al menos 1 “FileGroup” el cual contiene a toda la metadata de la misma base de datos, es decir tablas y vistas de sistema, a este “FileGroup” inicial se le conoce como “Primario” y está presente en todas las bases de datos. Todos los objetos de usuario que contengan data, ya sean tablas o índices, deben estar ligados a un “FileGroup”, esto se puede definir al momento de ejecutar la sentencia DDL de creación del objeto, si no se indica a que “FileGroup” estará ligado ese objeto, este pertenecerá al “FileGroup” por defecto definido en la base de datos. La base de datos solo puede tener definido 1 solo default “FileGroup”.
Las bases de datos pueden tener hasta 32767 “FileGroups” definidos, según los límites establecidos para la última versión de SQL Server, la cual es SQL Server 2008 R2. Uno de los propósitos de los “FileGroups” es poder distribuir la data a través de varios discos duros físicos, de esta manera se puede obtener mayor rendimiento en las operaciones de I/O debido a que más de un disco trabajara al mismo tiempo. Otro de los propósitos es poder esconder la ubicación física real de la información a los programadores, ya que para ellos la tabla “X” pertenece al “FileGroup” “A”, pero no saben en que data files físicamente se encuentra la información de la tabla “X”.
Estructura Física:Desde el punto de vista físico, como ya hemos visto, tenemos los “DataFiles” que los en realidad los archivos de datos, es decir donde se guarda toda la información de la base de datos. Un “DataFile” solo puede pertenecer a 1 “FileGroup”.
Internamente los “DataFiles” están divididos en “Extends” y estos a su vez en “Pages”. Las “Pages” son la unidad minima de almacenamiento dentro de la base de datos. Un “Page” tiene 8 Kb de tamaño en espacio de disco. Un “Extend” tiene 8 “Pages” contiguas que lo conforman, es decir, un “Extend” tiene como tamaño 64 Kb de espacio en disco.
En un “Page” solo puede haber información de 1 sola tabla, es decir el espacio de un “Page” no es compartido entre tablas o índices. En el caso de los “Extends”, estos pueden ser de dos tipos:
“Mixed”: Los cuales son compartidos hasta por 8 objetos, uno por cada “Page”.
“Uniform”: Los cuales solo pertenecen a un solo objeto, es decir que todos los “Pages” pertenecen a un solo objeto.
Normalmente cuando se crea una nueva tabla esta es asignada a un “Extend” de tipo “Mixed”, hasta alcanzar la utilización de hasta 8 “Pages”, a partir de ese momento se asignan “Extends” de tipo “Uniform” para optimizar el uso del espacio en la tabla.
Los “DataFiles” normalmente tienen 2 extensiones de archivo, las cuales son estandar mas no obligarias, la extencion “mdf” que se utiliza para el primer “Datafile” perteneciente al “FileGroup” primario, y la extension “ndf” que se utiliza para los demas datafiles que se agregan posteriormente a los demas “FileGroups” de la base de datos.