You are on page 1of 29

Curso de SQL Server 2008 - Primera Parte: Conceptos e Instalacin

Autor: DesarrollandoSoftware.com Tutorial HTML SQL Server es uno de los motores de bases de datos ms utilizados en el mundo, en este primera entrega del curso aprenderemos algunos conceptos e historia de SQL y bases de datos, a continuacin realizaremos una instalacin de SQL Server 2008, todo paso a paso. Para este curso utilizaremos la edicin Express por ser de libre utilidad pero haremos oportunas indicaciones para versiones comerciales.

SQL Definicin e Historia Instalacin de SQL Server 2008 Express

SQL Definicin e Historia

Un sistema de gestin de bases de datos (DBMS) es un mtodo o mecanismo organizado para mantener los datos, estos sistemas han existido por aos, muchos de los cuales comenzaron como sistemas de archivos planos en un mainframe. Con las tecnologas actuales, el uso de los DBMS ha comenzado a fluir en otras direcciones, impulsado por las demandas de las empresas en crecimiento, el aumento de volmenes de datos corporativos, y por supuesto, las tecnologas de Internet. La visin moderna de la gestin de la informacin es llevada a cabo fundamentalmente mediante el uso de sistemas de gestin de bases de datos relacionales (RDBMS), derivado del tradicional DBMS. Las bases de datos modernas combinan las tecnologas cliente/servidor y Web, estas son tpicas en empresas actuales para gestionar con xito sus datos y mantenerse competitivas en sus mercados. La tendencia de muchas empresas es moverse de un entorno cliente/servidor para la web, donde la ubicacin no es una restriccin cuando los usuarios necesitan acceder a datos importantes.

Pero que es SQL?


SQL o Lenguaje de Consulta Estructurado es el lenguaje estndar que se utiliza para comunicarse con una base de datos relacional. El prototipo fue desarrollado originalmente por IBM utilizando como modelo el documento llamado "Un modelo relacional de datos para grandes bancos de datos compartidos" escrito por el Dr. EF Codd. En 1979, poco despus del prototipo de IBM, el primer producto de SQL, ORACLE, fue publicado por Relational Software, Inc. (que despus se llam Oracle Corporation). Que es, hoy en da, uno de los lderes en tecnologas de bases de datos relacionales.

Que es ANSI SQL?


El American National Standards Institute (ANSI) es una organizacin que aprueba ciertos estndares en muchas industrias diferentes. SQL ha sido considerado el lenguaje estndar en la comunicacin de bases de datos relacionales, aprobado originalmente en 1986 sobre la implementacin de IBM. En 1987, el estndar ANSI SQL fue aceptado como el estndar internacional por la Organizacin Internacional de Normalizacin (ISO). Las revisiones posteriores a la norma fueron en 1992, 1999, 2003, 2006 y la ltima en 2008 norma que ahora se llama SQL-2008. Algunos podran argumentar que un estndar no es tan bueno, porque limita la flexibilidad y la posibilidad de una implementacin particular. Sin embargo, la mayora de los proveedores que cumplen con el estndar han desarrollado herramientas muy confiables. Un estndar es bueno, considerando las ventajas y desventajas. El estndar exige caractersticas que deben estar disponibles en cualquier implementacin completa de SQL, adems que aumenta el valor de un programador SQL.

Una implementacin de SQL es un producto de un determinado proveedor un sistema de gestin de bases de datos relacionales, es importante conocer que existen varias implementaciones de SQL, entre las ms importantes estn: Oracle, MS SQL Server, MySQL, PostgreSQL, Informix y otros, si bien no hay implementacin que siga el estndar completo, la mayora se basan en ANSI SQL.

Que es una Base de Datos?


En trminos muy sencillos, una base de datos es una coleccin de datos. A algunos les gusta pensar en una base de datos como un mecanismo organizado que tiene la capacidad de almacenar informacin, a travs del cual un usuario puede recuperar la informacin almacenada en una eficaz y eficiente manera. La gente usa las bases de datos todos los das sin darse cuenta. Una gua telefnica, por ejemplo, es una base de datos. Los datos contenidos se componen de nombres de personas, direcciones y nmeros de telfono. Los listados estn en orden alfabtico o indexados, lo que permite al usuario hacer referencia a un residente local en particular con facilidad. En definitiva, estos datos se almacenan en una base de datos en algn lugar de un ordenador. Despus de todo, cada pgina de una gua telefnica no es escrita de forma manual cada ao para una nueva edicin. Representacin de una base de datos:

Bases de datos relacionales


Una base de datos relacional es una base de datos dividida en unidades lgicas llamadas tablas, estas tablas estn relacionadas unas con otras dentro de la base de datos. Una base de datos relacional permite que los datos se dividan de forma lgica en unidades ms pequeas, manejables, lo que facilita mantenimiento y ofrece un ptimo rendimiento de la base de datos. Las tablas estn relacionadas unas con otras a travs de una key o clave comn (valor de un dato) en una base de datos relacional. Las tablas relacionadas permiten que la informacin pueda ser recuperada en una sola consulta (aunque los datos deseados pueden existir en ms de una tabla). Al tener las keys comunes entre las tablas de la base de datos relacional, los datos de varias tablas se pueden unir para formar un gran conjunto de resultados.

Representacin de una base de datos relacional:

Tecnologa Cliente / Servidor


En el pasado, las computadoras mainframes dominaban la industria de las computadoras, estos grandes y poderosos sistemas con alta capacidad de almacenamiento y procesamiento de datos permitan a los usuarios comunicarse con la computadora central a travs de terminales tontas, este entorno abri paso a una tecnologa que pronto seria introducida: el modelo cliente / servidor. En el sistema cliente/servidor, el equipo principal, llamado servidor, es accesible desde una red, tpicamente una red de rea local (LAN) o una red de rea extensa (WAN). El servidor normalmente se accede por computadoras personales (PC) o por otros servidores, en lugar de terminales tontas. Cada PC, llamado cliente, est provisto de acceso a la red, lo que permite comunicacin entre el cliente y el servidor, lo que explica el nombre cliente/servidor. La principal diferencia entre los entornos cliente/servidor y de mainframe es que el PC del usuario en un entorno cliente/servidor es capaz de "pensar" por s misma, capaz de dirigir sus propios procesos mediante su propia CPU y memoria, pero de fcil acceso a un ordenador servidor a travs de una red. En la mayora de los casos, un sistema cliente/servidor es mucho ms flexible para las necesidades de los negocios de hoy y en general es la ms preferida. La ilustracin muestra el concepto de la tecnologa cliente/servidor

Proveedores populares de bases de datos


Los ms predominantes son Oracle, Microsoft, Informix, Sybase e IBM, estos proveedores distribuyen varias versiones de bases de datos relacionales por un costo significativo. Muchos otros proveedores suministran una versin de cdigo abierto de bases de datos SQL (base de datos relacionales). Algunos de estos proveedores incluyen MySQL, PostgreSQL, y SAP. Aunque existen muchos ms de los mencionados. Cada proveedor de aplicacin SQL tiene sus propias caractersticas especficas. Un servidor de base de datos es un producto, como cualquier otro producto en el mercado, fabricado por un nmero amplio de proveedores. Cada proveedor debe asegurarse de que su ejecucin es compatible con el actual estndar ANSI para la portabilidad y la comodidad del usuario. Por ejemplo, si una compaa est migrando desde un servidor de base de datos a otro, sera bastante desalentador para los usuarios de bases de datos a tener que aprender otro lenguaje para mantener funcionalidad con el nuevo sistema.

Sesiones SQL
Una sesin SQL ocurre cuando un usuario interacta con una base de datos relacional a travs del uso de comandos SQL, cuando un usuario se conecta a la base de datos una sesin es establecida. Dentro de los alcances de una sesin SQL estn: Ingresar consultas, manipular datos de la base de datos y definir la estructura de la base de datos como tablas.Normalmente las sesiones son establecidas por el usuario desde una terminal o estacin de trabajo que se comunica a travs de una red con la computadora que hospeda la base de datos

MS SQL Server, el producto Microsoft

Microsoft SQL Server es un servidor de base de datos integral y una plataforma de informacin que ofrece un conjunto completo de tecnologas y herramientas para las empresas, ayudan a las personas obtener el mximo valor de la informacin al menor costo. Para las primeras dos entregas de este curso utilizaremos 2 herramientas: Microsoft SQL Server 2008 Express, esta es una edicin gratuita de SQL Server y es una plataforma de datos ideal para aprender y ejecutar pequeas aplicaciones de servidor y de escritorio, pueden descargarlo de: http://www.microsoft.com/downloads/eses/details.aspx?FamilyID=58ce885d-508b-45c8-9fd3-118edd8e6fff Para la segunda entrega utilizaremos Microsoft SQL Server 2008 Management Studio Express que es un entorno gratuito e integrado para obtener acceso, configurar, administrar y desarrollar todos los componentes de SQL Server, combina un amplio grupo de herramientas grficas y enriquecidos editores de scripts que proporcionan acceso a SQL Server para programadores y administradores de todos los niveles, pueden descargarlo de: http://www.microsoft.com/downloads/es-es/details.aspx?FamilyID=08E52AC2-1D6245F6-9A4A-4B76A8564A2B Nota. Al final de esta entrega del curso, en las descargas, estn estas herramientas alojadas en Mediafire, por si alguien prefiere descrgalo por este servicio. Bien, ahora empecemos con la instalacin de SQL Server 2008.

INSTALACIN DE SQL SERVER 2008


Empezamos ejecutando el instalador de SQL Server 2008 Express para lo que abrimos el archivo SQLEXPR_x86_ESN.exe

Nos despliega el Centro de Instalacin de SQL Server, en donde lo primero que haremos ser revisar la informacin de requisitos para la instalacin haciendo clic en Comprobar la configuracin del sistema

Revisaremos el informe verificando que todo este correcto, luego hacemos clic en aceptar y volvemos al Centro de Instalacin de SQL Server

Nuevamente en el Centro de Instalacin de SQL Server hacemos clic en Instalacin, en las opciones de la izquierda, con lo que se desplegaran varias opciones de instalacin, como informacin diremos que un clster de conmutacin por error (anteriormente conocidos como clsteres de servidores) es un grupo de equipos independientes que trabajan juntos para aumentar la disponibilidad de las aplicaciones y los servicios. Los equipos o servidores agrupados (denominados nodos) estn conectados mediante cables fsicos y mediante software, si se produce un error en uno de los nodos del clster, otro comienza a dar servicio (proceso que se denomina conmutacin por error), de esta manera los usuarios experimentarn un nmero de interrupciones mnimo en el servicio. Un clster de conmutacin por error de SQL Server aparece en la red como si fuera un nico equipo, aunque ofrece funciones para la conmutacin por error entre nodos si el nodo actual deja de estar disponible. Un clster de conmutacin por error aparece en la red como equipo individual o aplicacin normal, aunque tiene funcionalidad adicional que aumenta su disponibilidad. Para nuestra instalacin elegimos la opcin Nueva instalacin independiente de SQL Server o agregar caractersticas a una instalacin existente

Nuevamente el instalador obtendr un reporte de los posibles errores que pudieran surgir en la instalacin, siendo todo correcto continuamos con clic en Aceptar

Lo siguiente es la Clave de producto, como se trata de la versin SQL Server 2008 Express, que es gratuita estas opciones estn deshabilitadas, cuando instalemos la versin comercial estas opciones estarn habilitadas para introducir la clave o modo de prueba, solo haremos clic en Siguiente

Leemos los trminos de licencia y si estamos de acuerdo marcamos el cuadro Acepto los trminos de licencia y clic en Siguiente.

El programa de instalacin necesita copiar algunos archivos para el siguiente paso para lo continuamos haciendo clic en Instalacin

Nuevamente el asistente de instalacin de SQL Server valida la configuracin del equipo antes de que se complete la operacin de instalacin. En la tabla siguiente, se describen los parmetros del Comprobador de configuracin del sistema y la forma de solucionar problemas de bloqueo, cuando tengamos todo correcto hacemos clic en Siguiente, notaran que en caso de algn error el botn siguiente estar deshabilitado hasta que el error sea subsanado.

A continuacin seleccionamos los componentes de la instalacin de SQL Server, los Servicios de Motor de base de datos, constituyen el servicio principal para almacenar, procesar y proteger los datos, es en si el motor de base de datos. El componente Replicacin de SQL Server, es opcional y es un conjunto de tecnologas destinadas a la copia y distribucin de datos y objetos desde una base de datos a otra, para luego sincronizar ambas bases de datos y mantener su coherencia. En la versin comercial de SQL Server tendremos ms caractersticas disponibles entre los que destacamos Analysis Services (ofrece funciones de procesamiento analtico en lnea (OLAP) y minera de datos para aplicaciones de Business Intelligence), Reporting Services (usada para configurar una conexin de base de datos del servidor de informes), Integration Services (es un conjunto de herramientas grficas y objetos programables para mover, copiar y transformar datos). Las caractersticas compartidas son las que usan todas las instancias de SQL Server que hay en un equipo. Se instalan slo una vez por equipo, incluye herramientas de cliente, marcaremos todos los componentes y haremos clic en Siguiente

Antes de continuar veamos que es una instancia. Una instancia en SQL es un conjunto de servicios distintos con configuraciones especficas, cada instancia posee su propia configuracin y sus propias bases de datos, cada instancia se ejecuta como un servicio de Windows llamado sqlservr.exe, en un equipo pueden instalarse varias instancias y cada una se ejecutara en distintos procesos sqlservr.exe.En una instancia pueden coexistir varias bases de datos las que tendrn sus propios ficheros (tablas, ndices, etc.) y su propia configuracin (intercalacin, modo de registro y recuperacin, etc.) independientes a otras instancias, esto quiere decir que si creamos 2 instancias podramos, por ejemplo, tener bases de datos con el mismo nombre en ambas instancias lo que no podramos hacer si creamos estas bases de datos en una sola instancia. Las bases de datos creadas en una instancia comparten la base de datos TEMPDB que es dnde se almacenan los objetos temporales, resultados intermedios de consultas, y otros. Es recomendable mantener una instancia para cada entorno, si por ejemplo tenemos un entorno de desarrollo, uno para pruebas y otro para produccin lo aconsejable es mantener 3 instancias, tambin es recomendable instalar cada instancia en un servidor dedicado, si solo disponemos de un servidor lo mejor es manejar varias bases de datos en lugar de varias instancias, claro que cada escenario es diferente por lo que estas son solo recomendaciones y no reglas. Ahora utilicemos la pgina Configuracin de instancia del Asistente para especificar si desea crear una instancia predeterminada o una instancia con nombre de SQL Server.

Instancia predeterminada. Si piensa instalar una nica instancia de SQL Server en un servidor de base de datos, debe ser una instancia predeterminada. El nombre de instancia predeterminada en SQL Express en SQLExpress y en la versin comercial es MSSQLSERVER. Para este tipo de instancia la forma de conectarse desde clientes u otros servidores ser por medio del nombre de la maquina o la direccin IP de la misma. Instancia con nombre. Use una instancia con nombre para aquellas situaciones en las que piensa tener varias instancias en el mismo equipo tome en cuenta que un servidor solo puede alojar una instancia predeterminada. Puede instalar SQL Server como una instancia con nombre sin instalar primero la instancia predeterminada. Una sola instalacin con nombre de SQL Server puede ser la instancia predeterminada, si especifica SQLExpress (MSSQLSERVER para la versin comercial) como nombre de instancia, se crear una instancia predeterminada. El Id. de instancia es el nombre que se utiliza como identificador de la instancia. Se usa para identificar los directorios de instalacin y las claves del Registro para la instancia de SQL Server. Se puede utilizar un identificador de instancia no predeterminado, especificndolo en el campo Id. de instancia. Una instancia, ya sea predeterminada o con nombre, tiene su propio conjunto de archivos de programa y de datos, as como un conjunto de archivos comunes compartidos entre todas las instancias de SQL Server del equipo, esta informacin se almacena en el Directorio Raz de la instancia. Para nuestra instalacin marcaremos Instancia con nombre: SQLExpress con lo que en realidad crearemos una instancia predeterminada, en ID de instancia dejaremos el nombre predeterminado y el directorio raz tambin ser el predeterminado. Luego clic en Siguiente.

Lo siguiente es la pantalla de espacio en disco donde observamos cuanto ocupara la instalacin y el directorio de la instancia, continuamos con Siguiente

Para iniciar y correr cada servicio en SQL Server este debe tener una cuenta configurada, esta puede ser cuenta del sistema, de usuario o de usuario de dominio, utilizaremos la pgina Configuracin del servidor con el fin de asignar cuentas de inicio de sesin a los servicios de SQL Server. Podemos asignar la misma cuenta de inicio de sesin a todos los servicios pero es recomendable configurar cada cuenta de servicio individualmente. Tambin puede especificar si los servicios se inician automtica o manualmente, o estn deshabilitados. En la versin SQL Express solo tenemos disponible dos servicios: - SQL Server Database Engine (Motor de Base de Datos SQL), para este utilizaremos la Local System account o cuenta local del sistema, el nombre de esta cuenta es NT AUTHORITY\SYSTEM que es una cuenta sin restricciones a todos los recursos del sistema y es miembro del grupo Administradores en el equipo local, adems especificaremos el tipo de inicio Automtico. - SQL Server Browser (Explorador SQL Server) este es el servicio de resolucin de nombres que proporciona informacin de conexin de SQL Server a los equipos clientes, este servicio informa al cliente la lista de servidores SQL disponibles y como conectarse a las instancias del servidor, sin esto tendramos que indicar desde el cliente el nombre del servidor, instancia y el puerto correspondiente. La cuenta de inicio de sesin

predeterminada es el servicio NT Authority\Local Service (Cuenta de servicio local que tiene el mismo nivel de acceso que lo miembros del grupo Usuarios) y no se puede cambiar durante la instalacin de SQL Server, el tipo de inicio que definiremos ser Automtico. En la versin comercial de SQL Server tendremos ms servicios disponibles y como dijimos antes lo recomendable es asignar un nombre de cuenta y contrasea a cada servicio. La intercalacin hace referencia a la forma en que se leen, comparan y ordenan caracteres, esto solo afecta a los campos de texto, normalmente, se elige la configuracin regional del sistema de Windows pero se recomienda usar la configuracin predeterminada para instalar SQL Server. Luego clic en Siguiente

Ahora debemos especificar quienes sern los administradores de la base de datos y el modo en el que se autenticaran. Empecemos con los modos de seguridad: Modo de Autenticacin de Windows: Utiliza una cuenta de usuario de Microsoft que SQL Server valida usando la informacin del sistema operativo Windows. Si selecciona este modo el programa de instalacin crea una cuenta sa (System Administrator o Administrador del sistema) y la deshabilita de forma predeterminada.

Modo mixto (autenticacin de Windows y autenticacin de SQL Server). Este permite conectarse usando la autenticacin de Windows y la autenticacin de SQL Server. Si selecciona este modo se debe establecer la contrasea para el sa o administrador del sistema, este modo permite el inicio de sesin tipo SQL para usuarios que no son parte de Windows, tambin utilizada para dar acceso a SQL Server desde aplicaciones, versiones SQL Server anteriores entre otras cosas. Lo aconsejable es utilizar la autenticacin de Windows por temas de seguridad. Para nuestra instalacin utilizaremos el modo mixto, para lo que crearemos una contrasea de Administrador de Sistemas o SA Como administradores de SQL Server agregaremos al grupo de administradores del equipo local con el botn Agregar..., tambin tenemos la opcin de agregar el usuario que esta realizando la instalacin.

En la pestaa Directorio de datos especificamos las ubicaciones fsicas de los componentes de SQL Server aqu no realizaremos ningn cambio.

Las instancias de usuario son una caracterstica que permite a los usuarios que no son administradores ejecutar una versin local de SQL Server en su propia cuenta. Con las instancias de usuario, los usuarios que no son administradores tienen los privilegios del propietario de la base de datos en la instancia que se ejecuta en su propia cuenta. Esta caracterstica se quitar en una versin futura de Microsoft SQL Server. Evita utilizar esta caracterstica en nuevos trabajos de desarrollo y ten previsto modificar las aplicaciones que actualmente la utilizan.

Muchos datos no estn estructurados, como documentos de texto, imgenes y vdeos. Estos datos no estructurados a menudo se almacenan fuera de la base de datos. Esta separacin puede producir complejidades en la administracin de datos. O bien, si los datos estn asociados a almacenamiento estructurado, se pueden limitar las capacidades de transmisin por secuencias de archivo y rendimiento. FILESTREAM integra el SQL Server Database Engine (Motor de base de datos de SQL Server) con un sistema de archivos NTFS almacenando los datos de objeto binario grande (BLOB) como archivos en el sistema de archivos. Las instrucciones de Transact-SQL pueden insertar, actualizar, consultar, buscar y realizar copias de seguridad de los datos FILESTREAM. Las interfaces del sistema de archivos de Win32 proporcionan el acceso de la transmisin por secuencias a los datos. Habilitamos FILESTREAM y llamaremos ComparteSQLExpress al recurso compartido en Windows, y luego clic en Siguiente

Lo siguiente ser elegir si queremos tener activo el envi de errores a Microsoft o a un servidor corporativo, tambin si deseamos enviar a Microsoft las caractersticas de configuracin. Luego clic en Siguiente

El programa de instalacin de SQL Server 2008 valida la configuracin del equipo antes de que se complete la operacin de instalacin

La pgina Listo para instalar proporciona un resumen de caractersticas que se va a instalar. Hacemos clic en Instalacin con lo que inicia el proceso de instalacin

Una vez completada la instalacin nos despliega los servicios instalados, hacemos clic en Siguiente

La instalacin se ha completado correctamente.

Una vez instalado veremos que, en Todos los programas en el men de inicio de Windows, tenemos acceso a una importante herramienta de SQL, el Administrador de configuracin SQL Server

El Administrador de configuracin de SQL Server es una herramienta para administrar los servicios asociados a SQL Server, para configurar los protocolos de red utilizados por SQL Server y para administrar la configuracin de conectividad de red de los equipos cliente de SQL Server. Es un complemento de Microsoft Management Console, con esta herramienta podemos detener, pausar y reiniciar los servicios de SQL Server 2008

Con esto terminamos por ahora, en la siguiente entrega veremos el SQL Server Management Studio este es un entorno integrado para obtener acceso a todos los componentes de SQL Server, configurarlos, administrarlos y desarrollarlos.

You might also like