post icon

Instalación SQL Server 2008… Una guía más? Porqué no :)


Buenas a todos! Llevo bastante rato lejos de Devtroce asi que tengo un par de articulos que desempolvar… entre ellos, este…

Mucho he encontrado en la web acerca de guías de instalación del motor de base de datos estrella que posee Microsoft, pero muchas veces debemos complementar la info de esas guías con otras. Bueno, la idea de este pequeño tutorial de instalación de SQL Server es eso, analizar el proceso de instalación de SQL Server paso a paso de principio a fin, y tratar de explicar las distintas áreas de la instalación.

Como parte del material que desarrollamos en el tutorial sobre virtualización en VirtualBox, creamos un equipo con un Windows XP virtual.

Bueno, para este tutorial usaremos el mismo y ejecutaremos sobre él nuestra instalación de SQL Server.

Primeramente un tip:

Se recomienda que para las instalaciones de cualquier tipo de servidor, el equipo disponga de una dirección IP Fija y no asignada por DHCP. Es por eso, que verificamos que la dirección IP del equipo virtual, sea fija, configurada manualmente.

A continuación una serie de imágenes que nos muestra como hacer para que en virtual podamos montar la imagen ISO del disco de instalación del SQL Server (para mi ejemplo, cree previamente un archivo de imagen de disco ISO del SQL Server 2008 Enterprise)

En el menú de la máquina virtual, seleccionamos Dispositivos -> Dispositivos CD/DVD -> Más imágenes de CD/DVD y se despliega la pantalla a continuación.

Si no se dispone de la imagen de disco en la lista, con la opción “Agregar” se invoca una pantalla que permite añadir la imagen a la lista. Seleccionamos el archivo correcto y pasamos nuevamente a la máquina virtual.

Cuando seleccionamos la imagen, en la máquina virtual se inicia el asistente de instalación.

El SQL Server 2008 en particular requiere ciertos requisitos como son el .NET Framework 3.5 SP1 y el Windows Installer v4.5

Si el instalador no detecta alguno de los mismos en el sistema, se inicia la instalación de los mismos.

El paquete de instalación del Windows Installer no es más que el instalable que nuestros equipos pueden bajar por medio del Windows Update. Si tu equipo está actualizado al día, es probable que ya tenga disponible la versión 4.5 en el sistema al momento de ejecutar el instalador.

Una vez finalizada la actualización, el instalador nos informará que algunos requisitos necesitan de reiniciar el sistema. Esta opción es inevitable, por lo cual recomiendo que si estás haciendo algo al momento de instalar el SQL Server 2008, guardes lo que estes haciendo, porque al darle click en “Aceptar”, estará reiniciando el sistema.

Una vez reiniciado el equipo, el instalador se inicia nuevamente y nos dará paso a la siguiente imagen.

Esta vez, al no faltar prerrequisitos, se nos presenta la pantalla de Instalación del SQL Server 2008.

Nuestras opciones de interés se encuentran en la opción “Installation” (Instalación, en la versión en español del instalador).

Entre las opciones de instalación, tenemos las siguientes (menciono parte del texto de la opción nada más):

  • New SQL Server Standalone…

Nos permite realizar una nueva instalación o añadir funcionalidades a una instalación ya existente.

  • New SQL Server Failover Cluster…

Nos permite instalar el SQL Server en modo que permita una configuración de Clusters para alta disponibilidad, o Failover Cluster

  • Add Node…

Nos permite agregar nuevos nodos a una instalación ya existente de SQL Server en modo Failover Cluster

  • Upgrade from…

Ejecuta un utilitario que nos permite realizar la actualización de instalaciones anteriores basadas en SQL Server 2000 / 2005

Luego de seleccionar la opción “New SQL Server Standalone…” se inicia un checkeo de reglas previas para la instalación.

Tip ante error:

Algo que me paso (y bastante) cuando realizaba mis primeras instalaciones de SQL Server 2008 en sus versiones Express o Developer, era que me encontraba con que al realizar el checkeo correspondiente, la regla “Restart Computer” daba error, indicando que debia reiniciar el equipo, aun despues de haberlo reiniciado 10 veces.

Esto sucede cuando una entrada del registro, se queda “colgada” con información luego de ciertas instalaciones. La entrada del registro es “PendingFileRenameOperations” y en ella se guardan los cambios de nombres que se hacen cuando se actualiza un archivo y el mismo estaba en uso, y al reiniciar debe eliminar el original para reemplazar por su version mas nueva, y renombrarlo correctamente.

A continuación, como llegar hasta ella (Nota: si tienen este error, no cierren la pantalla de instalación, déjenla en 2do plano).

Primeramente en la opción “Ejecutar” del menú Inicio, ingresamos al “regedit” (el usuario debe tener privilegios elevados para esto, ya que este programa es el Editor de Registro de Windows y cualquier información alterada erroneamente aqui, puede derivar, en el peor de los casos, en problemas en la ejecución del Sistema Operativo donde se realiza la instalación).

Una vez dentro del editor de registro, accedemos al sgte. path: HKEY_LOCAL_MACHINE -> SYSTEM -> CurrentControlSet -> Control -> Session Manager

Si el error mencionado se presenta, verán esa entrada del registro disponible entre las enmarcadas en el recuadro. Como en la gran mayoría de los casos, la información presentada ahí es “basura” residual de alguna instalación realizada, lo sugerido es editar el contenido de esa entrada del registro, y borrarlo completamente. Luego de eso, traer nuevamente a primer plano la instalación de SQL Server y hacer click sobre el botón “Re-run” o “Ejecutar nuevamente” para repetir la comprobación, y ver que efectivamente, ahora se cumple con la regla de “Restart Computer” (Reiniciar el Equipo).

Una vez pasado los chequeos previos, nos trasladamos a esta pantalla. Aquí es donde se especifica la versión a instalar (en el caso de las versiones Free que son la Enterprise Evaluation y la Express Edition) o se ingresa el serial de la versión de SQL Server que hemos adquirido.

Una vez ingresado el serial, nos aparecerá en pantalla los “Terminos de Licencia” del producto. Una vez aceptados, se procede a la siguiente pantalla.

En esta pantalla, se ejecuta una instalación de archivos de soporte del instalador (valga la redundancia). Una vez finalizado esto…

… se ejecutará nuevamente una serie de chequeos de reglas de instalación de los archivos de soporte.

Entre algunos chequeos se pueden ver, productos no soportados, instalaciones previas de la suite de Business Intelligence o ediciones CTP (Community Technical Preview) del SQL Server, control de consistencia del registro, dominio, seguridad, y Firewall de Windows.

En la pantalla siguiente vemos las opciones que podrán instalarse en el sistema, agrupadas en 3 grandes grupos.

  • Instance Features (Funcionalidades para Instancia)

Contiene el Motor de Base de Datos (Database Engine), el motor de Inteligencia de Negocios (Analysis Services) y el motor para Reportes (Reporting Services)

  • Shared Features (Funcionalidades Compartidas)

Contiene las herramientas para conectividad, desarrollo, administración, entre otros, a realizar sobre las Instancias.

  • Redistributable Features (Funcionalidades Redistribuíbles)

Para nuestro ejemplo, he seleccionado todas las funcionalidades disponibles, y a continué con la instalación

En esta pantalla, tenemos disponible las opciones de instancia. Una Instancia de SQL Server, representa una ejecución en memoria del motor, con sus respectivas bases de datos, usuarios, permisos, etc.

La opción “Default Instance” nos indica que la instancia se instalará con el nombre por defecto para la misma. La opción “Named Instance” es para indicar un nombre diferente a la instancia. Se usa cuando ya existen instancias previamente instaladas en el mismo equipo. De existir alguna, la misma será listada en el cuadro de la imagen.

También se visualiza el directorio principal donde se instalará la instancia, y los paths de los features seleccionados.

Nota: La cantidad de instancias soportadas varia entre las diversas versiones de SQL Server disponibles. Las diferencias pueden consultarse aquí

Luego de aceptar las opciones a instalar, el sistema nos presenta en pantalla, cuando espacio tenemos requerido en total, y por directorios.

En la siguiente opción, tenemos la configuración de los servicios y cuentas de ejecución de los mismos.

En esta pantalla, indicamos con que cuentas de usuarios o del sistema, se ejecutaran los servicios del SQL Server. Se pueden usar distintas cuentas para las mismas, pero en mi caso particular, suelo indicar a todos que usen la misma cuenta.

Con la opción “Use the same account for all SQL Server services” se nos despliega el cuadro aquí arriba. Por default las cuentas de sistema habilitadas son las de “Servicio de Red” y “System”. Una transcripción rápida de este artículo nos permite conocer las diferencias entre una y otra:

Cuenta del sistema local

Se trata de una cuenta local predefinida que puede iniciar un servicio y ofrecer el contexto de seguridad para el mismo. Es una cuenta eficaz con acceso total al equipo, incluyendo el servicio de directorio cuando se utiliza con servicios que se ejecutan en controladores de dominio. La cuenta actúa como cuenta del equipo host en la red y como tal tiene acceso a los recursos de red de igual modo que cualquier otra cuenta de dominio. En la red, esta cuenta aparece como DOMAIN\<nombre del equipo>$. Si un servicio inicia la sesión utilizando la cuenta del sistema local en un controlador de dominio, dispone de acceso al sistema local en el propio controlador, el cual, si se pone en peligro, puede permitir que los usuarios malintencionados modifiquen cualquier información en el dominio deseado. Windows Server 2003 configura algunos servicios para que inicien la sesión como la cuenta del sistema local de forma predeterminada. El nombre real de la cuenta es NT AUTHORITY\System y no dispone de ninguna contraseña que un administrador deba administrar.

Cuenta Servicio de red

Es una cuenta integrada especial con privilegios reducidos, similar a una cuenta de usuario autenticado. Este acceso limitado ayuda a proteger el equipo si un atacante pone en peligro procesos o servicios individuales. Un servicio que se ejecuta como cuenta Servicio de red tiene acceso a los recursos de red que utilizan las credenciales de la cuenta del equipo del mismo modo que un servicio del sistema local. El nombre real de la cuenta es NT AUTHORITY\NetworkService y no dispone de ninguna contraseña que un administrador deba administrar.

A modo de nota, normalmente selecciono la cuenta del servicio de red 😉

En la misma pantalla, tenemos los modos de inicio de los servicios. Los modos disponibles son “Automático”, “Manual” y “Desactivado”.

Cada servicio tiene una finalidad deteminada:

  • SQL Server Agent: el agente, el que se encarga de la ejecución de las tareas programadas.
  • SQL Server Database Engine: el motor, este es el servicio que necesitamos arriba, para poder tener acceso a las bases de datos.
  • SQL Server Analysis Services: el servicio de la solución de Business Intelligence de Microsoft.
  • SQL Server Reporting Services: este servicio se encarga de ejecutar el motor de servidor de reportes.
  • SQL Server Integration Services: el conjunto de tecnologías de integración que permite la ejecución de tareas tipo “DTS” (Data Transformation Services) para extracción de datos de otras fuentes e inserción dentro del motor de base de datos, o por el contrario, generar datos para que sean consumidos por otras fuentes.
  • SQL Full Text Filter Daemon Launcher: el filtro de texto para el servicio de busquedas por texto completo de Microsoft (recomendable su ejecución solo hay indices de texto completo en las base de datos del motor)
  • SQL Server Browser: servicio que se encarga de buscar en la red, otros servicios y/o instancias de SQL Server instaladas. Sin este servicio arriba, si intentamos conectarnos a un servicio en otro equipo, que tenga configurado para su ejecución un puerto distinto al normal (por ejemplo, SQL Server se ejecuta por default sobre el puerto 1433 del protocolo TCP), recibiremos un mensaje de error de conexión (usando tanto el nombre del equipo/instancia/IP para la conexión). Con este servicio arriba, el SQL Server sabrá en que puerto esta realmente disponible el servicio al que queremos conectarnos.

En esta pantalla además, tenemos el “Collation” o “Intercalación”. La primera vez que instale SQL Server me pregunte “¿que es esto? ¿que significa?”.

Con el paso del tiempo, entendí su significado y uso. La intercalación es un conjunto de reglas sobre la manera en la cual se procesará el texto a la hora de almacenarlo, y al momento de utilizarlo para búsquedas y/o comparaciones. Citando una parte de este articulo:

Las intercalaciones de SQL Server 2008 controlan lo siguiente:

  • La página de códigos que se utiliza para almacenar datos no Unicode en SQL Server.
  • Las reglas que rigen la forma en que SQL Server ordena y compara los caracteres que se almacenan en tipos de datos no Unicode. El programa de instalación de SQL Server detectará la intercalación de Windows en el equipo donde se instala SQL Server. A continuación, seleccionará automáticamente la intercalación para la instancia de SQL Server. Los órdenes y las comparaciones pueden ser diferentes para caracteres Unicode y no Unicode.

¿Como influye? Pues bueno, si deseo realizar una comparación entre 2 campos en tablas separadas, con intercalación distintas entre los 2, el motor me generará un mensaje de error indicando que no se puede comparar el texto por tener intercalaciones distintas, ergo, reglas de almacenamiento y tratamiento distintas.

Al darle la opción de “customizar”, podemos seleccionar el designador de intercalación, asi como otros atributos como sensibilidad a mayúsculas/minúsculas, acentos, extensión, entre otros. Por una costumbre que adquirí en un trabajo anterior, todas mis bases de datos estan con el designador “Latin1_General_100” con la opción “Accent-sensitive” (sensible a Acentos). En la imagen anterior, se puede ver una advertencia que nos indica que la intercalación no es la misma para el servicio de SQL Server y el Analysis Services (El texto es “Warning: The Database Engine and Analysis Services collations are not the same“).

Esto nos da la pauta que debemos customizar la intercalación de la misma manera para ambos servicios.

Una vez configuradas las intercalaciones de ambos servicios, procedemos a la siguiente pantalla.

En esta pantalla se nos presentan algunas opciones de configuración del motor de base de datos, empezando por la autenticación de usuarios. Aquí hay un detalle entre los modos que se presentan.

  • Windows Authentication Mode: modo de autenticación de Windows. Cualquier usuario correctamente identificado en un Sistema Operativo Windows (localmente en el servidor, o a nivel de un dominio Windows Server), podrá tener acceso al motor. Nota: el usuario “sa” (System Administrator) estará deshabilitado si se instala con esta opción.
  • Mixed Mode: o modo mixto, con este metodo se podra realizar la autenticación por medio del usuario “sa” (u otros) además de los usuarios autenticados en Windows.

Mi recomendación particular, es realizar la instalación en Modo Mixto y especificar una contraseña para el usuario “sa”.

Una vez hecho esto, debemos especificar las cuentas que tendrán privilegios de administración sobre el motor de base de datos. Esta opción es nueva desde la versión SQL Server 2005, y nos permite indicar cuentas del sistema operativo local/dominio (o grupos de usuarios) que tendrán privilegios de “System Administrator” sobre el motor a instalar.

Uno puede seleccionar añadir el usuario actual, añadir una lista de usuarios / grupos, o removerlos de la lista. Al darle click en “Add”…

… se nos presenta la pantalla por la cual podremos buscar y/o validar usuarios / grupos de usuarios, para poder agregarlos a la lista. En el ejemplo, no agrego al usuario actual, sino al grupo “Administradores” del equipo. Esto quiere decir que todos aquellos usuarios Windows que pertenezcan al grupo “Administradores”  tendrán privilegios para realizar acciones administrativas sobre el motor.

Una vez seleccionado, vemos como el grupo ha sido añadido a la lista de usuarios con privilegios de administración.

En la pestaña siguiente, tenemos los “Data Directories” o “Directorios de Datos”. Esto es importante configurar cuando instalamos el motor, y deseamos que las bases de datos que sean creadas, no se encuentren en el mismo directorio del SQL Server, sino en otras ubicaciones del equipo.

En la pestaña siguiente, tenemos las opciones del Filestream”. La primera vez que vi esta opción, no me preocupe por averiguar que era, no obstante, hace poco supe el uso de la misma, y me parecio un feature bastante interesante para las bases de datos SQL Server.

La definición de Filestream que encontré en su momento está en este articulo (el mismo referencia a este articulo en inglés, del cual obtuvo la información para definir que es Filestream) y transcribo la parte mas importante de la misma:

SQL Server 2008 aporta una solución muy buena; almacenar los ficheros en el sistema de ficheros, que es donde tienen que estar, pero con una relación definida en SQL Server a través de un nuevo tipo denominado “filestream”, SQL gestionara también la seguridad de tal forma que es posible que solo la cuenta del servicio de SQL Server tenga acceso a los ficheros y que los usuarios accedan a los mismos con las restricciones de seguridad que tengan en la BD, es compatible con el uso de clusters y los backups de SQL Server.El T-SQL se ha enriquecido con instrucciones para el manejo de este nuevo tipo.

Básicamente, el Filestream nos permite almacenar en nuestro sistema de archivos, los binarios que anteriormente almacenábamos directamente en la base de datos, de esta forma, esos binarios no consumen espacio en la base de datos en si, sino que son almacenados en otra ubicación, y referenciados desde la base de datos.

El uso o no de esta opción, creo que no debería cuestionarse ya que tarde o temprano podríamos encontrarnos con un problema que requiera almacenar binarios en la BD, y con el Filestram podríamos solucionarlos. En todo caso, si no se nos ha presentado ese problema, y tampoco se cree que en la brevedad lo tenga, mi recomendación esta en instalarlo igual, ya que muchas veces “es mejor que sobre, antes que falte” 😉

Luego del Filestream, pasamos a la siguiente pantalla, donde vemos la configuración del Analysis Services. De forma similar al motor de base de datos, para el Analysis Services debemos indicar aquellos usuarios con privilegios administrativos que tendrán acceso…

… así como configurar los directorios de datos para el Servicio.

Siguiendo con la instalación, pasamos a la configuración del Reporting Services.

Admito que mi experiencia en configuración de Reporting Services es poca, ya que siempre lo instale con el modo Nativo por Default y no he tenido oportunidad de configurarlo para integración con Sharepoint.

En el siguiente paso, configuramos como reaccionara el SQL Server ante errores, si los enviara o no. Particularmente siempre indico que el equipo reporte los errores que encuentre, ya que tengo una suerte particular con problemas casi únicos sobre SQL Server o Windows Server.

Entre los últimos pasos, tenemos una nueva verificación de reglas de instalación. Entre ellas, se distingue aspectos de arquitectura, clusters existentes, Reporting Services, soporte entre otros. Notese la regla “FAT32 File System” y creo que no hace falta aclarar en demasía que desde la versión 2008, SQL Server no puede instalarse en equipos con sistema de archivos FAT32

Luego de esas finalizar el chequeo de esas reglas, en la siguiente pantalla, se nos expresa al detalle, que se instalará en nuestro equipo, y haciendo click sobre alguna de las opciones mostradas, en la parte de abajo se indicará el path en el cual será instalado.

Y ahora a esperar unos minutos, porque nuestra instalación de SQL Server, ha empezado la copia de los archivos, y el proceso dura entre 20~40min normalmente.

Una vez finalizada la instalación, el instalador nos reportará si hubo o no errores en la instalación. En el ejemplo, la instalación ha finalizado correctamente.

Y hasta aquí ha llegado esta guía, espero que la misma les ayude alguna vez a realizar la instalación del SQL Server en sus equipos o servidores, y la información presentada aquí les ayude a entender (a los más novatos) como realizar la instalación, y que están instalando.

Actualmente faltan puntos por contemplar, como es la configuración posterior del motor, y del Firewall de Windows, pero las mismas serán vistas en otro artículo, apenas tenga tiempo para hacerlo 🙂

Si desean saber algo más al respecto, aclarar algo, o indicar información errónea, por favor, no dejen de poner un comentario 🙂

Comentarios desde Facebook:

  1. avatar
    Erick Coc GUATEMALA Google Chrome Windows
    17 Agosto 2013 at 14:58 #

    Gracias Amigo, el error de la reiniciada de la PC no me dejaba seguir pero con tu aporte logre solucionarlo.

    muy buen aporte

  2. avatar
    daniel MEXICO Google Chrome Windows
    14 Septiembre 2012 at 18:22 #

    me salvaste la vida, brother, buenisimo aporte, gracias men

  3. avatar
    deby BOLIVIA Mozilla Firefox Windows
    6 Abril 2012 at 17:38 #

    Muchisimas gracias esta barbaro el tutorial fue de gran ayuda 🙂

  4. avatar
    juan DOMINICAN REPUBLIC Internet Explorer Windows
    14 Septiembre 2011 at 11:01 #

    instalar

  5. avatar
    Vicente MEXICO Mozilla Firefox Mac OS
    16 Marzo 2011 at 21:42 #

    Hola:

    Un muy buen tutorial de instalacion, en particular excelentemente documentado, mejor que los manuales propios de MS.

    Saludos

  6. avatar
    ALTERNADO PERU Mozilla Firefox Windows
    24 Octubre 2010 at 19:05 #

    Hola Figuretti, gracias por responder , aunque no pude solucionar mi problema

  7. avatar
    soaz NICARAGUA Mozilla Firefox Windows
    28 Septiembre 2010 at 02:53 #

    gracias hermano, buen aporte, me ahorrastes la reinstalacion

  8. avatar
    edwin BOLIVIA Internet Explorer Windows
    11 Agosto 2010 at 11:21 #

    Un gran favor yo quiero instalar sql server 2008 pero al mostrar el diagnostico me sale cluster node y otros mensajes con cluster y no puedo instaler sql me puedes ayudar porfavro por que sale este error, es en una laptop que quiero instaler y esta tiene windows 7 home basic, este sistema operativo ya venia cuando lo compre la laptop ayuda porfavor

  9. avatar
    alternado PERU Mozilla Firefox Windows
    25 Julio 2010 at 17:10 #

    Hola, tengo un problema con sql server 2008 y quisiera que me ayudaras a solucionarlo.

    El problema consiste en que pasado aporx 15 o 10 min desde que abro el sql , se reinicia mi maquina, luego aparece un mensaje de error del sistema; he formateado mi maquian 2 veces para ver si se solucionaba, le he pasado antivirus (eset) y nada aun persiste el problema

    Nota:

    ram 3gb

    disco duro 500 gb

    Ademas hago algunas aplicaciones con jaba (netbeans) y necesito el sql para poder hacer la conexion, pero no puedo debido a este problema.

    Desde ya GRACIAS.

    • avatar
      Figuretti PARAGUAY Mozilla Firefox Windows
      27 Julio 2010 at 06:48 #

      Hola Alternado, a decir verdad no entiendo mucho del problema que tienes.

      Lo que abres del SQL Server es el Management Studio? O te refieres al tiempo que lleva ejecutandose en memoria el servicio del SQL Server?

      Podrias verificar en el Visor de Eventos cual es el ultimo servicio o error antes del reinicio?

      Y además poner aquí el Codigo de Error del BSOD que te sale luego en el mensaje despues del reinicio, ya que normalmente es un buen punto para empezar a buscar en la web sobre referencias del error.

      Aquí en mi trabajo tenemos un equipo que sufría algo parecido a tu problema, pero con otras herramientas. Le corrimos "memtest" y detectamos que uno de los sticks de memoria estaba dañado, y tuvimos que proceder a cambiarle la memoria y desde ahi, el problema de "congelamiento" o "reinicios" disminuyo a cero

Trackbacks/Pingbacks

  1. Tweets that mention Instalación de SQL Server 2008 | DevTroce.com -- Topsy.com UNITED STATES - 18 Julio 2010

    […] This post was mentioned on Twitter by Ronald Riveros, DevTroce. DevTroce said: Instalación SQL Server 2008… Una guía más? Porqué no :): Buenas a todos! Llevo bastante rato… http://goo.gl/fb/535zT […]

Responder