Descripcin breve Descripcin, Instalacin y Manejo del Gestor de Bases de Datos SQL Server SQL SERVER
1 ndice Qu es SQL Server?............................................................................................................. 2 Caractersticas SQL Server. ................................................................................................ 2 Tipo de Licencias............................................................................................................... 2 Dnde Conseguir SQL Server? .......................................................................................... 2 Dnde Instalar SQL Server? ............................................................................................. 3 Arquitectura de SQL Server ................................................................................................... 3 Estructura lgica ............................................................................................................... 3 Estructura Fsica ............................................................................................................... 4 Servicios del Servidor ........................................................................................................ 4 Instancias del Servidor ...................................................................................................... 4 servicHerramientas del Servidor ........................................................................................ 4 Funcionamiento SQL Server .................................................................................................. 5 Master Data Base ............................................................................................................. 5 Tempdb Data Base............................................................................................................ 5 Model Data Base .............................................................................................................. 5 Resource Data Base .......................................................................................................... 5 MSDB Data Base ............................................................................................................... 5 Rutas de Archivos ............................................................................................................. 6 Usuarios SQL Server ............................................................................................................. 6 Creacin de Usuarios ........................................................................................................ 7 Autentificacin Windows .............................................................................................. 7 Autentificacin SQL Server ............................................................................................ 8 Instalacin de SQL Server...................................................................................................... 8 Requisitos Mnimos .......................................................................................................... 8 Instalacin Paso a Paso ..................................................................................................... 9 Creacin de una Base de Datos ........................................................................................... 15 Bibliografia ........................................................................................................................ 18
SQL SERVER
2 Qu es SQL Server? Microsoft SQL Server es un programa de Gestin de Bases de Datos. Es un gestor de bases de datos que se basa en el modelo Relacional, es decir que usa tablas y relaciones para almacenar los datos. Supone una alternativa a otros gestores como Oracle, PostgreSQL o el conocido MSQL. Se empez a comercializar en el ao 1989 con la versin SQL Server 1.0 actualmente se encuentra la versin SQL Server 2012. Los lenguajes de consulta que usa son T-SQL y ANSY SQL. Caractersticas SQL Server. Las caractersticas fundamentales que soporta este SGBD son: 1. Soporta Transacciones: Es decir que cumple las reglas ACID. Que son Atomicidad, coherencia, aislamiento y durabilidad. 2. Es estable y proporciona seguridad. 3. Soporta procedimientos almacenados: Que son unos conjuntos de instrucciones que se ejecutan en el servidor para mejorar el rendimiento de sistema gestor. 4. Entorno grafico para usar comandos DDL y DML. 5. Permite el modo de trabajo Cliente-Servidor: Es decir los datos estn en el servidor y los clientes solo acceden a los datos. 6. Administra datos de otros servidores. La versin ms actual que es SQL Server 2012 incluye una herramienta llamada SQL Express Edition, que usa el mismo motor de base de datos, pero que est destinado a trabajos ms pequeos, en las versiones anteriores se conoca como MSDE y es totalmente gratuita. Tipo de Licencias. El programa utiliza una licencia Microsoft EULA (End User License Agreement), es decir, que el uso solo est permitido para un nico usuario (El comprador.) Una vez adquirido el producto existen unos modelos dependiendo de las caractersticas que necesitemos: - Licenciamiento Basado en La Potencia del Sistema (Licencia por Cores) Este licenciamiento se calcula a partir de los microprocesadores o CPU usados. - Licenciamiento por Usuario (Modelo Servidor + CAL) - Virtualizacin de Bases de Datos (Licenciamiento para la Nube) Para ms informacin de licencias ver este enlace de Microsoft: http://www.microsoft.com/es-es/sqlserver/future-editions/sql2012-licensing.aspx Dnde Conseguir SQL Server? SQL Server se puede conseguir directamente desde el centro de compra de Microsoft http://www.microsoft.com/es-es/sqlserver/default.aspx Para comenzar la descarga debemos pulsar sobre el men Obtenga SQL Server y se despliega un men en el cual podemos ver las opciones de compra o de prueba. En nuestro caso elegimos la opcin de probar. Esta opcin nos permite usar cualquier producto durante un mximo de 180 das. Tambin se puede elegir qu tipo de producto usar. Usare la versin 2012. SQL SERVER
3 Despus de elegir la versin, tenemos que elegir que versin usar: 32 o 64 bits. Como S.O es de 64 bits elegiremos la versin x_64. Elegimos el idioma y comenzamos la descarga.
Figura 1. Descarga ISO. Dnde Instalar SQL Server? Al ser un programa creado exclusivamente por Microsoft, se limita su uso solo a las plataformas de Microsoft. Es decir en S.O como Linux no se podr instalar. Dependiendo de las versiones de SQL Server (Enterprise, Busisnes, Standard) se podr instalar en distintas plataformas de Windows por ejemplo la edicin Enterprise solo se puede instalar en las versiones de Windows server y solo en las versiones 2012 y 2008. Ejemplos de compatibilidad de todas las versiones disponibles. http://msdn.microsoft.com/es-es/library/ms143506.aspx Arquitectura de SQL Server El sistema gestor SQL Server se divide en dos estructuras: estructura lgica y estructura fsica. Estructura lgica Una base de datos SQL Server debe de tener un filegroup en el cual se encuentra los metadatos de la propia base de datos, por ejemplo, vistas, tablas del sistema. A este bloque (FILEGROUP) se le conoce como primario y est en todas las BD. Es decir, los objetos de un SQL SERVER
4 usuario que tengan datos estn ligados a este archivo. Si al crear objetos DDL no se especifica a que filegoup va a pertenecer, se establecer el filegoup por defecto de la base de datos. Pueden existir un mximo de 32767 de filegroup. Los filegroups contienen uno o varios datafiles. Estructura Fsica Los datafiles (.mdf) son los archivos de datos, cada archivo de datos pertenece a un solo filegroup. Los datafiles se dividen en Extends y estos en Pages. Los pages son la unidad mnima de almacenamiento y ocupan como mnimo 8kb. Los pages no se puede existir informacin de ms de una tabla, es decir no es comparido entre ndices o tablas. Los extends pueden ser: Mixed compartidos por 8 objetos. Uniform solo pertenecen a un objeto Servicios del Servidor Son un conjunto de aplicaciones que se ejecutan con el sistema operativo, es decir, sin necesidad de que el usuario intervenga. Se cargan al arrancar la maquina donde este nuestro gestor de base de datos. Cuando iniciamos la instalacin del SQL Server estos servicios se instalan y se ejecutan en la maquina donde correr el gestor. Algunos de ellos se podrn elegir durante la instalacin, un ejemplo de estos servicios son: Motor de base de datos. Responsable de ejecutar los comandos T-SQL, XML y otros lenguajes soportados por el servidor. Tambin se encarga de la administracin de las bases de datos, la memoria, capacidad de discos etc Agente del Servidor: Encargado de ejecutar tareas administrativas, monitorear el sistema y por ejemplo definir alertas. Componentes BI (Business Intelligence): Todo lo referente a las herramientas de creacin de aplicaciones de negocio como por ejemplo Reporting Services o Analysis Services.
Instancias del Servidor Una instancia es una copia de un programa ejecutable del servidor SQL, se ejecuta como un servicio de Windows. En el mismo ordenador puede haber tantas instancias como se desee, la nica limitacin es el propio hardware del equipo. Cada instancia est aislada de las otras, por lo cual cada instancia tiene su propio consumo de requisitos. Herramientas del Servidor Cuando instalamos SQL Server podemos seleccionar una serie de herramientas para gestionar, desarrollar y consultar la base de datos. Las ms comunes de uso diario son: SQL Server Management Studio: Aplicacin que administra, desarrolla y consulta el servidor. SQLCMD: Cliente para acceder desde la lnea de comandos a SQL Server. Desde aqu podemos escribir comandos T-SQL desde la consola de comandos, sin necesidad de herramientas grficas. SQL SERVER
5 SQL Server Configuration Manager: Herramienta para administradores que trabajan para el software instalado, los servicios que estn ejecucin y dems servicios. SQL Server Installation Center: Permite aadir, quitar o actualizar caractersticas de los servidores instalados. Se puede acceder a l desde el men de inicio. Funcionamiento SQL Server Cuando acaba la instalacin de SQL Server se crean automticamente cinco bases de datos, cada una de ellas funciona de manera diferente. A continuacin explicaremos que hacer cada una de las bases de datos que se crean: Master Data Base Registra la informacin de sistema SQL Server. En esta informacin se recogen los datos (Metadatos) de una instancia, como las cuentas de inicio de sesin, servidores vinculados y configuracin de sistema. Esta base de datos recoge la existencia de las dems bases de datos, ubicacin de archivos Sin esta base de datos SQL Server no podr iniciarse. Tempdb Data Base Es una base de datos que est disponible para todos los usuarios conectados a la instancia de SQL y se utiliza para almacenar: Objetos de usuario temporales: Como tablas, procedimientos, cursores todos ellos creados de manera local o global pero de forma temporal. Objetos internos del Motor de la BD. Versiones de fila generadas por las transacciones de modificacin de la BD. Versiones de fila generadas mediante transacciones de modificacin de datos. Cada vez que se inicia SQL Server esta base de datos queda limpia, es decir que los archivos temporales se borran en la desconexin. Archivo Nombre lgico Nombre fsico Crecimiento Datos Principales tempdev Tempdb.mdf Crecimiento automtico del 10% hasta llenar el disco. Registro templog Templog.ldf Crecimiento automtico del 10% hasta un Max de 2TB. Tabla 1. Propiedades tempdb. Model Data Base Esta base de datos es una plantilla que sirve de modelo para todas las bases de datos creadas en la instancia SQL Server. Esta base de datos debe de existir siempre ya que tempdb se crea cada vez que se inicia SQL Server. Todo el contenido en la BD Model se copia en las bases de datos nuevas. Resource Data Base Es una base de datos de lectura, contiene todos los objetos del sistema que se incluyen en SQL Server como por ejemplo: sys.objects. Esta BD no contiene metadatos ni datos de los usuarios. Una funcin de esta base de datos es que a la hora de actualizar la versin de SQL Server sea ms rpido y sencillo. MSDB Data Base Sirve para programar alertas y trabajos. Alguna de las caractersticas de SQL Server como por ejemplo: SQL Server Management Studio usa esta base de datos. Cada vez que se realice una operacin que modifique esta BD, como una copia de seguridad o restauracin, se recomienda hacer una copia de seguridad de la MSDB. SQL SERVER
6 Rutas de Archivos Cuando instalamos una instancia de SQL Server su instalacin por defecto se lleva al cabo en: C:\Program Files\Microsoft SQL Server\ Los archivos comunes de las instancias se guardan en: C:\Program Files\Microsoft SQL Server\100\ Los distintos archivos y registros se guardan en rutas diferentes dependiendo de los tipos de componentes que estn instalados, por ejemplo: Mssqlxx.nombre_Instancia Motor Base de Datos. Msasxx.nombre_Instancia Analsys Services. Msrsxx.nombre_Instancia Reporting Services. En mi equipo las rutas de estos archivos son: C:\Program Files\Microsoft SQL Server\MSSQL11.SQL_SERVER Donde el numero 11 es la versin SQL SERVER 2012. Un ejemplo de ruta completa de una base de datos sera: C:\Program Files\Microsoft SQL Server\MSSQL11.SQL_SERVER\MSSQL\DATA\Geografia.mdf Usuarios SQL Server En SQL server existen dos grupos de usuarios para poder conectarse al sistema. Un grupo es usando los usuarios del propio sistema operativo. Este mtodo se conoce como Autentificacin de Windows. El otro grupo son los propios usuarios del sistema gestor SQL Server, conocido como Autentificacin SQL Server. Desde la pgina oficial de SQL Server, recomienda usar usuarios de Windows ya que no se introduce ninguna contrasea, ya que se busca desde el archivo de contraseas. Para poder ver que usuarios existen nada ms crear la base de datos podemos utilizar esta consulta: SELECT name, type_desc FROM sys.server_principals WHERE type_desc IN('SQL_LOGIN', 'WINDOWS_LOGIN', 'WINDOWS_GROUP');
Tabla 2. SQL Usuarios. El resultado obtenido es: SQL SERVER
7
Figura 2. Usuarios Existentes. Aqu podemos observar los distintos usuarios que existe y a que grupo de conexin pertenece. Podemos observar que existe un usuario llamado sa. Este es un superadministrador sin contrasea, es decir que deberemos aadirle una contrasea para fortalecer nuestro sistema. Tambin hay dos usuarios que hemos creado, y ahora explicaremos como se aaden nuevos usuarios, usado las dos autentificaciones. Creacin de Usuarios Para comenzar a crear usuarios debemos conectarnos a la instancia en la cual crearemos el nuevo usuario. Una vez conectado en el panel izquierdo desplegamos la carpeta que pone seguridad y con el botn derecho del ratn, pinchamos en inicios de sesin. Del men despegable resultante seleccionamos nuevo inicio de sesin. Como muestra la siguiente imagen.
Figura 3. Crear usuario. Una vez dentro del nuevo inicio de sesin, comenzaremos a crear nuevos usuarios, de los cuales deberemos elegir un mtodo de logeo: Mediante Windows o SQL Server. Autentificacin Windows Para poder autentificarse con Windows el usuario debe existir en el S.O Windows, sino deberemos crear el usuario. Cuando tengamos el usuario en Windows creado, ya podemos comenzar con el registro. Primero debemos buscar el nombre del usuario que queremos aadir, si ponemos un nombre errneo el sistema lo detectara. SQL SERVER
8 Elegiremos la base de datos predeterminada para el usuario. Por defecto es la MASTERDB. Luego configuramos las opciones adicionales: o Roles del Servidor bulkadmin, dbceator, diskadmin, public, securituadmin, serveradmin, setupadmin, sysadmin. o Asignacin de usuarios usuarios asignados, asignar, base de datos, usuario, esquema, miembros de rol Db_owner, db_securituadmin, db_accessadmin, db_backupoperator, db_ddladmin, db_datawriter, db_datareader, db_denydatawriter, db_denydatareader. o Elementos protegibles Permisos a una serie de elementos para el inicio de sesin. Autentificacin SQL Server En este mtodo, el usuario se guardara en la base de datos. Los pasos a seguir son los siguientes: Escribir el nombre de inicio de sesin. Elegir el mtodo de autentificacin en SQL Server. Escribir la contrasea y repetirla para confirmarla. Elegir directivas de contraseas, como por ejemplo cambiar la contrasea al iniciar sesin. Opcional elegir una clave asimtrica al inicio de sesin o credenciales de seguridad. Elegir la base de datos y el idioma Las opciones adicionales son las mismas que en autentificacin en Windows. Instalacin de SQL Server Antes de instalar SQL Server deberemos de tomar una serie de decisiones como por ejemplo: Requisitos Mnimos Para instalar SQL Server se necesitan unos requisitos mnimos para que pueda funcionar, estos requisitos son tanto software como hardware. Necesitaremos tener instalado el siguiente: .NET Framework .NET 3.5 SP1. Windows Power Shell. Software de Red. Virtualizacin Entornos en Mquinas virtuales con Hyper-V. Software de internet Internet Explorer 7 como mnimo. Disco Duro 6 GB de espacio como mnimo. Unidad de DVD. Resolucin VGA 800*600 o superior. Internet (Opcional.) Memoria RAM Express Edition: 512 MB. Otras ediciones 1 GB. Procesador: X861.0GHz. X641.4GHz Procesador x64: AMD Opteron, AMD Athlon 64, Intel Xeon compatible con Intel EM64T Intel Pentium IV compatible con EM64T Procesador x86: compatible con Pentium III o superior Para informacin ms detallada: http://msdn.microsoft.com/es-es/library/ms143506.aspx. SQL SERVER
9 SQL Server se puede instalar de diferentes maneras yo he elegido la instalacin a travs de un .ISO. Otras maneras son: Desde el smbolo del sistema. Con un archivo de configuracin. A travs del SysPrep. Ahora explicaremos la instalacin mediante el formato .ISO. Instalacin Paso a Paso MS SQL Server se puede instalar tanto en sistemas operativos clientes como servidores. En nuestro caso lo instalaremos en un Windows 8 PRO X_64. Cargamos la .ISO descargada en la unidad de DVD. Nos saldr el asistente de configuracin y nos mostrara la siguiente pantalla:
Ilustracin 1. Asistente de Configuracin.
Seleccionamos en el panel de la izquierda la opcin de instalacin y luego seleccionaremos la opcin Nueva instalacin de SQL Server.. SQL SERVER
10
Ilustracin 2. Nueva Instalacin. Despus se abrir una ventana que mostrara Reglas auxiliares de la instalacin que bsicamente identifica los problemas que puedan surgir cuando instalemos algn componente de SQL Server. Revisamos los problemas y damos a Aceptar. Ahora nos pide la clave del producto, como no tenemos ninguna clave utilizaremos la versin de prueba que nos da 180 das de uso.
Ilustracin 3. Licencia. El siguiente paso es aceptar los trminos de licencia, para poder continuar debemos marcar la casilla Aceptar trminos de licencia. La segunda pestaa no es obligatoria. La siguiente ventana nos llevara a las Actualizaciones del Producto. Se buscara en internet software que ayude a mejorar la seguridad y el rendimiento de nuestro SQL Server.
SQL SERVER
11
Ilustracin 4. Bsqueda de actualizaciones. Continuamos y aparecer la ventada de Instalacin de archivos. Aqu comenzara a instalar las actualizaciones si las hay y archivos del programa de instalacin. Cuando acabe este proceso se vuelve a abrir la ventana de Reglas Auxiliares pero ahora comprueba las reglas necesarias para poder instalar SQL SERVER.
Ilustracin 5. Reglas Finales. Una vez comprobado todo podemos comprobar todo a travs de un informe detallado. Despus de revisarlos pulsamos Siguiente y la ventana siguiente es Rol de instalacin. Aqu podremos seleccionar las caractersticas que deseemos instalar. SQL SERVER
12
Ilustracin 6. Roles de instalacin. La primera pestaa nos permite seleccionar que caractersticas mientas que la segunda pestaa instala todas las caractersticas con sus valores predeterminados. Yo elegir la primera opcin. Continuamos y veremos las caractersticas a instalar. La siguiente pantalla despus de seleccionar las caractersticas es Reglas de instalacin. Verificamos que se cumple todo y continuamos.
Ilustracin 7. Reglas de Instalacin. La siguiente ventana es la Configuracin de la instancia. Aqu crearemos nuestra instancia, por defecto el nombre es MSSQLSERVER. Si seleccionamos instancia con nombre podremos darla el nombre que queramos. Tambin podemos modificar el Directorio raz de la Instalacin por el momento lo dejaremos los valores por defecto. SQL SERVER
13
Ilustracin 8. Configuracin Instancia. Despus de continuar la venta emergente es Requisitos de disco. Donde veremos el espacio disponible y el espacio requerido para poder continuar con la instalacin. Luego despus de aceptar, la ventana es Configuracin del servidor. Aqu dejaremos los valores por defecto, solo se modificara en caso de que sea necesario. Pulsamos siguiente y accederemos a Configuracin del motor de Base de Datos.
Ilustracin 9. Motor de BD. Aqu podremos elegir que usuarios se conectaran al sistema, ya sea usuarios de Windows o del propio SQL Server, tambin elegiremos quienes ser administradores del propio gestor. Los apartados Directorio de Datos y FILESTREAM dejaremos los valores por defecto. Continuamos y la siguiente ventana es la Configuracin de Analysis Services. Aqu dejaremos los valores por defecto tanto en Configuracin del Servidor y Directorio de datos. Podemos aadir usuarios que tendrn permisos para el Analysis Services. SQL SERVER
14 Continuamos y la siguiente ventana Configuracin de Reporting Services nos muestra tres opciones: La primera opcin que ser la seleccionada nos permite configurar y dejar instalado el servidor de informes en modo nativo. Las otras opciones permiten opciones de configuracin ms avanzadas. De momento no lo tocaremos.
Ilustracin 10. Reporting Services.
Aceptamos y el asistente nos lleva a Distributed Replay Controller. Aqu solo seleccionaremos los usuarios que tendrn acceso a este servicio. Continuamos y nos lleva a la ventana en la cual deberemos dar nombre al controlador y seleccionar los directorios de datos para Distributed Replay. La ventana de informe de errores la cual es opcional, nos permite enviar informes de errores de Windows y SQL Server a Microsoft, para mejora futuras versiones de los sistemas mencionados. Al usar una evaluacin de prueba omitiremos este paso. A continuacin nos vuelve a mostrar la ventana de Reglas de configuracin. Corregimos los errores en caso de que existan y continuamos. Aparecer una ventana donde verificaremos todo lo que vamos a instalar. Una vez revisado procedernos a instalar SQL Server 2012. SQL SERVER
15
Ilustracin 11. Archivo de Verificacin.
Ilustracin 12. Proceso de instalacin. Una vez completada la instalacin, podemos ver un archivo con todo el resumen de la instalacin, documentacin de SQL Server Lo cerramos y ya podemos comenzar a usar SQL Server 2012. Creacin de una Base de Datos Para crear una base de datos primero debemos ejecutar el programa SQL Management Studio. Una vez dentro del programa, nos pide autenticarnos. Como en la instalacin elegimos autentificacin a travs de Windows y SQL podremos iniciar sesin mediante nuestro usuario de Windows. SQL SERVER
16
Ilustracin 13. Autentificacin. Una vez que hayamos establecido la conexin podemos crear una nueva base de datos. En el panel izquierdo donde pone Bases de Datos hacemos click con el botn secundario y elegimos nueva base de datos. Esta es la ventana de creacin de la nueva base de datos.
Ilustracin 14. Creacin BD. Aqu en esta pantalla podremos elegir el nombre de la Base de Datos, el propietario, el tamao inicial y la forma en la que ira aumentando. Tambin podemos elegir la compatibilidad con otras versiones de SQL Server. Otra opcin de configuracin es definir el grupo de archivos que va a tener nuestra base de datos. Una vez configurado todo esto damos a aceptar y nuestra base de datos ser creada. El nombre que la hemos dado es Geografa. El modelo entidad/relacin que tenemos que pasar es el siguiente. SQL SERVER
17
Ilustracin 15. Modelo E/R. Y ahora lo tenemos que pasar al modelo Relacional ya que nuestro sistema gestor est basado en este tipo de esquemas. El propio programa nos permite la creacin de este tipo de esquemas. Adems al crear el esquema directamente se creara las tablas de las base de datos. Por lo que ya tendramos nuestra base de datos configurada y creada.
Ilustracin 16. Diseo Relacional y Tablas En la Ilustracin 16 podemos ver las tablas con sus columnas y sus relaciones. A parte podemos ver en el panel izquierdo las 3 tablas creadas. El nombre de las tablas depende de quin sea el propietario. Por ejemplo en la imagen se observa que las tablas tienen el prefijo dbo. Estoy quiere decir que son objetos del administrador del sistema. Tambin se puede crear a travs de sentencias SQL, pero son bastante laboriosas y complicadas. El programa nos permite despus de tener todo ya creado elaborar un script sql para ver todo el cdigo. script.sql