Esta documentación tiene como objetivo describir paso a paso el proceso de instalación de SQL Server Express, un producto gratuito basado en la tecnología de SQL Server 2005. SQL Server Express – sucesor de MSDE – es un sistema de base de datos gratuito y fácil de usar, basado en la tecnología de SQL Server 2005. Fue diseñado para brindar una plataforma de base de datos que ofrezca gran simpleza de uso, posibilitando una distribución rápida en sus escenarios de uso. Su facilidad de uso empieza con una interfaz gráfica simple y robusta que guía al usuario durante el proceso de instalación (hablaremos más de este proceso en otro capítulo de este documento). SQL Server Express trae también herramientas gratuitas, incluyendo el SQL Server Management Studio Express, una interfaz gráfica usada para la administración; y el SQL Server Configuration Manager. Estas herramientas simplifican las operaciones básicas de administración. El diseño y desarrollo de aplicaciones que utilizan bases de datos son más fáciles con la integración de proyectos de Visual Studio.
SQL Server Express utiliza la misma tecnología que otras versiones de SQL Server 2005, lo que posibilita un alto rendimiento y confiabilidad. También es accesible mediante las mismas APIs de acceso a datos como ADO .NET, SQL Native Client y T-SQL. En la práctica, se diferencia de otras versiones de SQL Server 2005 solamente por los siguientes elementos:
Funcionalidades tales como el Auto Close y la habilidad de copiar bases de datos como si fuesen archivos están habilitadas por diseño en SQL Server Express, mientras que funcionalidades tales como Alta Disponibilidad e Inteligencia de Negocios no están disponibles. El proceso de crecimiento, cuando es necesario, está facilitado pues las aplicaciones desarrolladas para usar SQL Server Express trabajarán de la misma forma con las ediciones comerciales de SQL Server 2005. Este documento cubre el proceso de instalación y configuración de SQL Server Express, y la comunicación entre SQL Server Express y sus aplicaciones. Este documento está dirigido a:
Escenarios de UsoSQL Server Express fue desarrollado para tener dos usos distintos como objetivo. El primer uso es como un producto para servidores, especialmente un servidor de bases de datos (por ejemplo, para un sitio Web). El segundo uso es como servidor local de una aplicación cliente local, o como almacenamiento de datos donde la aplicación no depende del acceso a una red local. La facilidad de uso y la simpleza fueron objetivos claves en su diseño. Los tres escenarios principales de uso de SQL Server Express son:
SQL Server Express proporciona una plataforma de base de datos confiable y fácil de utilizar que cubre bien los escenarios presentados antes. Instalando y Configurando SQL Server 2005 ExpressA partir de este párrafo describiremos paso a paso el proceso de instalación de SQL Server Express. Cuando se instala SQL Server Express, los protocolos de red están inhabilitados por defecto; esto hace que no acepte conexiones que vengan de otras estaciones de la red. Siendo así, también describiremos cómo configurar SQL Server Express para permitir la comunicación entre el servicio y las aplicaciones. RequerimientosAntes de iniciar la instalación de SQL Server Express, es importante observar que para instalar y funcionar adecuadamente, son necesarios algunos requisitos tales como:
Nota: No hay soporte en esta versión para Windows XP Embedded Edition.
Nota: Microsoft .NET Framework 2.0 y Windows Installer 3.1 no son instalados por SQL Server Express. Se debe verificar que esté previamente instalado. .NET Framework 2.0 y Windows Installer 3.1 antes de iniciar la instalación de SQL Server Express. Desinstalando un Release Anterior de SQL Server Express y Visual Studio 2005Antes de empezar a hablar del proceso de instalación de SQL Server Express se debe leer atentamente este párrafo para el caso de que aún esté instalado en la máquina una versión Beta ó CTP de SQL Server Express y/o Visual Studio 2005. En este caso se deberá quitar todos los releases anteriores de SQL Server Express, Visual Studio 2005 y .NET Framework, antes de comenzar el proceso de instalación. Como estos productos dependen de la misma versión de .NET Framework, deben desinstalarse en el orden siguiente: 1. SQL Server 2005 Express 2. Visual Studio 2005 3. .NET Framework 2.0 (las versiones 1.0 y 1.1 no necesitan ser desinstaladas) IMPORTANTE: Ante cualquier duda acerca del proceso de desinstalación, ve el siguiente artículo disponible en el sitio de MSDN Uninstall any previous versions (en inglés). Nota: Para identificar correctamente la versión y Build de Microsoft .NET Framework 2.0 instalada, sigue alguno de estos pasos: o En caso de que sea una versión 2.0, vé a la carpeta %WINDIR%Microsoft.NetFrameworkversion, haz clic con el botón derecho del ratón sobre el archivo mscorlib.dll, luego haz clic con el botón izquierdo en Propiedades y después haz clic en Versión. o Alternativamente, vé al menú Iniciar | Panel de Control, haz clic en Herramientas Administrativas, y después haz clic en .NET Framework 2.0 Configuration. Al tope del panel derecho aparecerá la versión de .NET Framework instalada. Instalación Lado-a-Lado con SQL Server 2000Si deseas instalar SQL Server Express en una computadora que ya tiene SQL Server 2000 ó MSDE instalado, asegúrate de que SQL Server 2000 ó MSDE esté actualizado con el Service Pack 3 (SP3) ó superior. Versiones anteriores al SP3 no comparten apropiadamente el puerto UDP 1434 y pueden hacer que tu instancia de SQL Server Express no quede disponible para las aplicaciones clientes. Después puedes alterar el orden de inicio de los servicios para que el servicio SQL Browser inicie antes que el SQL Server 2000 ó MSDE. Lo recomendado es que actualices todas las versiones de SQL Server 2000 ó MSDE, aplicando el SP3 ó superior. Para descargar el Service Pack más reciente, vé al sitio de Microsoft SQL Server. El Servicio SQL BrowserEl servicio SQL Browser (sqlbrowser) permite que aplicaciones clientes se conecten a una instancia de SQL Server 2005 ó SQL Server Express sin conocer el puerto TCP/IP asignado a la instancia. Nota: Por razones de seguridad, SQL Server Express no inicia automáticamente el servicio SQL Browser durante la instalación. Cómo trabaja el Servicio SQL BrowserCuando una instancia de SQL Server Express es iniciada, es asignada a un número de puerto TCP/IP. Este puerto será usado por la instancia para comunicarse e intercambiar datos con las aplicaciones clientes. Debido a que este número de puerto es generalmente desconocido para las aplicaciones, el servicio SQL Browser actúa como un traductor, traduciendo el nombre de instancia pasado por la aplicación, para el número de puerto TCP/IP adecuado. Para hacer eso, el servicio SQL Browser permanece escuchando por peticiones de red en los puertos TCP/IP 1433 y 1434. Por defecto, el servicio SQL Browser está desactivado. Si estás accediendo a una instalación local de SQL Server Express, no necesitarás iniciar este servicio. Por otro lado, si precisas que tu aplicación acceda a SQL Server Express a través de la red, deberás primero habilitar uno de los protocolos de red y entonces iniciar el servicio SQL Browser. Posteriormente veremos cómo configurar SQL Server Express para trabajar en una red. Instalando SQL Server Express1. Para iniciar el proceso de instalación de SQL Server Express, haz doble-clic sobre el archivo SQLEXPR.EXE. Nota: Si lo prefieres, es posible extraer los archivos de instalación dentro de una carpeta temporal utilizando la sintaxis SQLEXPR.EXE /X en la línea de comandos. 2. En la ventana End User License Agreement, lee la licencia de uso y selecciona I accept the licensing terms and conditions. Pulsa Next para seguir. 3. SQL Server Component Update es ejecutado y éste instala los requisitos necesarios para la instalación de SQL Server Express, como es el Microsoft SQL Native Client y los Microsoft SQL Server 2005 Setup Support Files. 4. En la ventana Welcome to the Microsoft SQL Server Installation Wizard, pulsar Next para seguir. 5. En el próximo paso, SQL Server Express muestra la ventana System Configuration Check De la misma forma que con el SQL Server 2005, el SQL Server Express hace una verificación en busca de posibles problemas (requisitos mínimos de hardware y software) que puedan impedir la instalación de SQL Server Express. En caso de que algún problema sea encontrado, tendrás la opción de visualizar información relativa al problema encontrado y conocer la posible solución. 6. En la ventana Registration Information escribe las informaciones solicitadas y pulsa Next. Algunas observaciones importantes deben ser hechas aquí: a. Debido a que SQL Server Express es un producto gratuito, no existe solicitud de clave de producto. b. Si seleccionas la opción Hide advanced configuration options, no serán mostradas las ventanas Service Account (la cual permite definir la cuenta de usuario que será usada para iniciar los servicios de SQL Server Express), y Collation Settings (la cual permite informar qué Collation y Code Page deberá usar SQL Server Express). En este caso SQL Server Express será instalado con su configuración por defecto. 7. En la ventana Feature selection, selecciona las componentes que deseas instalar y pulsa Next para seguir. 8. La ventana Instance Name (no será presentada si fue seleccionada antes la opción Hide advanced configuration options), permite que selecciones una instancia por defecto (Default Instance) o una instancia nombrada (Named Instance) para su instalación Una instancia puede ser Default Instance (instancia por defecto, no nombrada) o Named Instance (nombrada). Cuando SQL Server 2005 es instalado como Default Instance, no requiere que el cliente especifique el nombre de la instancia para hacer una conexión. Para conectarse, el cliente necesita conocer solamente el nombre del servidor SQL ó la dirección IP. Una Named Instance es identificada por el nombre del servidor más el nombre de la instancia especificada durante la instalación. Para conectarse, el cliente necesita conocer el nombre del servidor (o su dirección IP) y el nombre de la instancia. Por defecto, SQL Server es instalado como Default Instance (no nombrada) a menos que especifiques un nombre de instancia durante la instalación. Al contrario que SQL Server 2005, SQL Server Express por defecto es instalado como Named Instance, teniendo como nombre por defecto para una instancia el nombre SQLExpress. Si no indicas un nombre para una instancia durante la instalación, al no desmarcar la opción Hide Advanced configuration options, será usado el nombre por defecto. En este caso, deberás acceder a SQL Server Express como NombreComputadoraSQLExpress. También puedes instalar SQL Server Express como Default Instance (no nombrada), si ninguna otra versión de SQL Server ya estuviera instalada en el servidor como Default Instance. Para hacer eso, instala SQL Server Express como Named Instance usando como nombre para la instancia el nombre MSSQLSERVER. 9. Nota: Para que el SQL Server Express permita indicar un nombre diferente para una instancia, desmarca la opción Hide Advanced configuration options en la ventana Registration Information al inicio de la instalación. 10. La ventana Service Account (no será presentada si no fue seleccionada la opción Hide advanced configuration options), permite que se asigne una cuenta local del sistema (local system account) o una cuenta de usuario de dominio (domain user account) para iniciar los servicios de SQL Server Express. Por defecto, SQL Server Express es instalado con la cuenta de sistema Network Service como cuenta para el inicio de los servicios. Se recomienda usar una cuenta de dominio que entonces se crea como una cuenta local específica para el inicio de los servicios. 11. En la ventana Authentication Mode especifica el modo de seguridad que deberá ser utilizado para conectarse al SQL Server Express y pulsa Next. 12. En la ventana Collations Settings selecciona el Collation y el tipo de ordenamiento deseado y pulsa Next para continuar. 13. Nota: Por defecto, SQL Server Express es instalado como insensible a mayúsculas/minúsculas (case-insensitive), y sensible a tildes (accent-sensitive). Es decir, no hace distinción entre una mayúscula y minúscula, pero sí hace distinción en las acentuaciones usando tildes. Con esto, durante una búsqueda, “Andrés” y “andrés” son una misma cosa pero “Andrés” y “Andres” NO lo son. Para evitar futuros problemas con la acentuación de carácteres en mayúsculas y en minúsculas, se recomienda seleccionar el Collate que aparece encima. Si precisas mantener compatibilidad de collate con otros servidores, selecciona tu collate de acuerdo al collate de las versiones anteriores. 14. En la ventana Error Reporting, indica si deseas reportar a Microsoft los errores del SQL Server Express y sus componentes. Esta opción es habilitada por defecto. 15. En la ventana Ready to Install, pulsa en Install para iniciar el proceso de instalación del SQL Server Express. Igual que en SQL Server 2005, la ventana Setup Progress permite acompañar el proceso de instalación de cada componente. Instalando SQL Server Express mediante la línea de de comandosPara quienes están acostumbrados a instalar MSDE 2000 mediante la línea de comandos, verán que instalar SQL Server Express de esa forma es tan simple como instalar MSDE. Inclusive, la sintaxis y los parámetros de instalación son semejantes. Antes de iniciar el proceso de instalación de SQL Server Express mediante la línea de comandos, es preciso extraer los archivos de instalación a una carpeta temporal. Para extraer los archivos de instalación, ejecuta el paquete de SQL Server Express con la opción /X e informa el camino en donde se deberán extraer los archivos; por ejemplo: C:SQLEXPR.EXE /X Después de extraídos los archivos, la instalación de SQL Server Express mediante la línea de comandos puede ser realizada de dos formas bastante simples: 1. Ejecutando el instalador (Setup.exe) y especificando los parámetros deseados en la misma línea de comandos. Ejemplo: start /wait setup.exe /qb ADDLOCAL=ALL INSTANCENAME=SQLEXPRESS SECURITYMODE=SQL SAPWD=pass SQLCOLLATION=”SQL_Latin1_General_CP1_CI_AI” SQLAUTOSTART=1 DISABLENETWORKPROTOCOLS=0 2. Creando un archivo de configuración y especificando el mismo en la línea de comandos. En caso que no quieras ejecutar el instalador especificando los parámetros, una alternativa a ello es ejecutarlo informando un archivo .ini, el cual deberá contar con todos los parámetros a ser utilizados durante la instalación. El archivo .ini es un archivo de texto que puede ser creado usando el Notepad de Windows y debe ser grabado con la extensión .ini. La primera línea del archivo debe ser [Options], después se deben especificar los parámetros, uno en cada línea. Después de creado el archivo .ini, ejecuta el instalador usando la opción /settings para informar el archivo .ini. El ejemplo mostrado debajo utiliza el archivo setup.ini para ejecutar el instalador y leer los parámetros deseados desde ese archivo. Ejemplo: start /wait setup.exe /qb SAPWD=pass /settings setup.ini El contenido del archivo setup.ini puede ser el que se muestra a continuación: [Options] ADDLOCAL=ALLINSTANCENAME=SQLEXPRESS SECURITYMODE=SQL SQLCOLLATION=”SQL_Latin1_General_CP1_CI_AI” SQLAUTOSTART=1 DISABLENETWORKPROTOCOLS=0 En el ejemplo anterior, el parámetro ADDLOCAL=ALL informa al instalador de SQL Server Express que deben ser instalados todos sus componentes. INSTANCENAME indica el nombre de la instancia. SECURITYMODE indica que el modo de autenticación a ser utilizado es el modo SQL Authentication. SQLCOLLATION informa el Collation por defecto a ser utilizado por el SQL Server Express. SQLAUTOSTART informa al instalador que se desea configurar el servicio del SQL Server Express para inicio automático. SAPWD informa una clave de acceso para el usuario SA (System Administrator). Y el parámetro DISABLENETWORKPROTOCOLS indica que los protocolos de red van a estar habilitados. Es importante estar atento al valor informado en este parámetro, el cual por defecto es 1. El valor 1 informa a SQL Server Express que desactive los protocolos TCP/IP y Named Pipes. Como consecuencia, SQL Server Express no aceptará conexiones remotas desde otras máquinas de la red. Los valores posibles para el parámetro pueden ser 0, 1 y 2:
Al utilizar uno de los dos métodos de instalación mostrados anteriormente, las cuentas del servicio SQL Server Express y SQL Server Browser serán iniciadas con el usuario de sistema NT AUTHORITYNetworkService. Para especificar una cuenta de servicio diferente, agrega los parámetros siguientes:
Para obtener una lista completa de todos los parámetros que pueden ser utilizados en la instalación mediante la línea de comandos y sus respectivos significados, después de extraer los archivos de SQL Server Express a una carpeta temporal, lee el archivo template.ini. Configurando SQL Server Express para una RedSi estás desarrollando una aplicación que se conectará a una instancia de SQL Server Express a través de la red, existen varias consideraciones a tener en cuenta: 1. Por razones de seguridad, los protocolos de red están deshabilitados por defecto. Puedes habilitarlos individualmente durante una instalación (Cuando instalas SQL Server Express mediante la línea de comandos) y después de una instalación. 2. Por defecto, SQL Server Express es instalado como instancia nombrada. 3. El servicio SQL Browser es usado por algunos protocolos de red para asociar instancias nombradas con números de puertos TCP/IP. En tanto, si SQL Server Express es instalado en una computadora donde haya una versión anterior al SP3 de MSDE ó de SQL Server 2000, pueden ocurrir algunos conflictos.Cuando instalas SQL Server Express, los protocolos de red están deshabilitados por defecto. Esto hace que después de una instalación, SQL Server Express no acepta conexiones de otras estaciones de una red. Apenas es permitida una conexión local (desde la misma máquina donde SQL Server Express fue instalado). Para permitir que SQL Server Express se comunique con sus aplicaciones a través de una red, debes primero habilitar uno de los protocolos de red y entonces iniciar el servicio SQL Browser. SQL Server Express soporta los siguientes protocolos de red:
Habilitando los protocolos de RedMostraremos cómo habilitar y configurar el protocolo TCP/IP en SQL Server Express usando el utilitario SQL Server Configuration Manager. Nota: Deberás reiniciar el servicio de SQL Server Express después de hacer modificaciones a los protocolos de red. También es recomendado reiniciar el servicio SQL Browser. Para habilitar el protocolo TCP/IP siga los pasos siguientes: 1. En el menú Inicio selecciona Programas | Microsoft SQL Server 2005 | Herramientas de Configuración y pulsa sobre SQL Server Configuration Manager. 2. Expande SQL Server 2005 Network Configuration y pulsa sobre Protocols for InstanceName. En el panel de la derecha, pulsa con el botón derecho del ratón sobre el protocolo TCP/IP y selecciona Enable Para configurar el protocolo TCP/IP: 1. En SQL Server Configuration Manager, pulsa con el botón derecho del ratón sobre TCP/IP y selecciona Properties. 2. En la guia IP Addresses, para IPAll coloca 1433 en TCP Port. 3. Pulsa OK para cerrar la ventana y guardar los cambios. Nota: El procedimiento anterior configuró el puerto 1433 para todos los IP configurados en su máquina. En el caso que desees configurar un puerto solamente para una IP específica, localiza la IP deseada (IP1, IP2…) y sigue el mismo procedimiento. Iniciando el servicio SQL BrowserPara iniciar el servicio SQL Browser, estando en SQL Server Configuration Manager: 1. Selecciona SQL Server 2005 Services. 2. En el panel de la derecha, pulsa con el botón derecho del ratón sobre el servicio SQL Server Browser y selecciona Start. 3. Para hacer que el servicio sea iniciado automáticamente, pulsa con el botón derecho del ratón y selecciona Properties. 4. En la guia Services, en Start Mode selecciona Automatic. 5. Pulsa en OK para cerrar la ventana y guardar los cambios. Probando la Conectividad con SQL Server ExpressUna de las maneras más simples de probar la conectividad con el servidor SQL Server Express es utilizando el utilitario de línea de comandos sqlcmd.exe. Este utilitario es instalado junto con SQL Server Express. Para probar la conectividad, abre una ventana de la línea de comandos y ejecute el comando: sqlcmd -E -S. En caso que tengas seleccionado Mixed Mode como método de autenticación a SQL Server Express, entonces también puedes utilizar el comando: sqlcmd -Usa -PclaveaccesoSa -S. Si el prompt de comandos queda como 1>, es señal de que una conexión fue establecida con éxito. Además del utilitario sqlcmd.exe, también es posible probar una conectividad remota con SQL Server Express utilizando el utilitario PortQry. El PortQry es un utilitario de línea de comandos (también existe una opción gráfica) que puedes utilizar en la solución de problemas de conectividad con el protocolo TCP/IP. Al ser ejecutado mostrará el estado del puerto TCP ó UDP, sea para una computadora local o remota. El PortQry puede ser ejecutado sobre el Windows 2000/2003/XP. Cuando es ejecutado sobre un puerto UDP 1434, el PortQry consulta todas las instancias del SQL Server que están ejecutándose en la computadora. 1. Abre una ventana de la línea de comandos y escribe C:portqry -n NombreDeServidorOsuIP -e 1434 -p udp. Una respuesta semejante a la que vemos debajo garantiza que el puerto está funcionando correctamente: Querying target system called: 2. Para probar la conectividad con un puerto TPC/IP 1433 escribe C:portqry -n NombreServidorOsuIP -e 1433 -p tcp. Un retorno semejante al que se muestra a continuación garantiza que el puerto está funcionando correctamente: Querying target system called: Vínculos RelacionadosCentro de descarga de Microsoft Descarga de SQL Server 2005 Express Edition (Final Release) SQL Server Management Studio Express (Herramienta gráfica gratuita para la administración de SQL Server Express) SQL Server Express Edition Toolkit SQL Server 2005 Express Edition Documentation and Samples PortQry – Descarga e informaciones Blog del equipo de SQL Server Express Foro de MSDN sobre el SQL Server 2005 (en inglés) |
||||||||||||||||||||||