02 noviembre, 2009

Instalar AdventureWorks2008 es más que una aventura

En los buenos viejos tiempos, instalar las bases de datos de ejemplo de SQL Server era tan simple como ejecutar algunos scripts T-SQL. Pero los tiempos han cambiado y ahora para instalar AdventureWorks en SQL Server 2008 requiere varios pasos algo complejos, empezando con que existen varios requisitos previos y además las bases AdventureWorks usan un instalador bastante sofisticado. Veremos en este artículo cómo instalar AdventureWorks 2008 en un SQL Server 2008 sobre Windows Server 2008 (en mi caso, la edición Standard).

Primero veamos cómo es la forma oficial de hacer la instalación de AdventureWorks2008, cómo la forma oficial tiene fallas y finalmente cómo instalar exitosamente las bases de ejemplo con un método alternativo.

1. La manera oficial de instalar AdventureWorks

Primero que nada hay que instalar los pre-requisitos necesarios:

Microsoft .NET Framework 3.5 Service Pack 1
http://download.microsoft.com/download/2/0/e/20e90413-712f-438c-988e-fdaa79a8ac3d/dotnetfx35.exe

Windows Installer 4.5 Redistributable
http://www.microsoft.com/downloads/details.aspx?FamilyId=5A58B56F-60B6-4412-95B9-54D056D6F9F4&displaylang=en

Para Windows Server 2008 elegir uno de los siguientes instaladores acorde a la plataforma:

x86: Windows6.0-KB942288-v2-x86.msu
x64: Windows6.0-KB942288-v2-x64.msu
IA64: Windows6.0-KB942288-v2-ia64.msu

Windows Powershell

En Windows Server 2008, Windows Powershell viene incluído pero no se instala por omisión. Para instalarlo ejecutar el Server Manager:

%SystemRoot%\system32\CompMgmtLauncher.exe

Seleccionar: Features. Luego clic en "Add Features" y marcar "Windows Powershell".

Luego de instalados los pre-requisitos, podremos instalar SQL Server 2008. Si se ha optado por la edición Express, hay que instalar SQL Server 2008 Express with Advanced Services debido a que las bases de ejemplo AdventureWorks requieren el servicio Full-Text Search incluido en dicha edición de Express. Entonces es recomendable instalar lo siguiente:

Microsoft SQL Server 2008 Express with Advanced Services
http://download.microsoft.com/download/e/9/b/e9bcf5d7-2421-464f-94dc-0c694ba1b5a4/SQLEXPRADV_x86_ENU.exe

Microsoft SQL Server 2008 Express with Tools
http://download.microsoft.com/download/7/9/4/794bfafa-aea7-45d4-a6ea-4e92f09918e3/SQLEXPRWT_x86_ENU.exe

Lo anterior es para instalar el Management Studio Express 2008. Observar que si previamente en la máquina existe el Management Studio Express 2005, hay que desinstalarlo desde Start / Control Panel.

Antes de instalar AdventureWorks usando los paquetes de instalación .msi, asegurarse que el SQL Server 2008 ya tiene todo lo siguiente: Full-Text Search instalado, el servicio SQL Full-text Filter Daemon Launcher iniciado y FILESTREAM habilitado. Veamos cada uno:

Cómo instalar el servicio Full-Text Search

Si el servicio Full-Text Search ya está instalado, pero el servicio SQL Full-text Filter Daemon Launcher no está iniciado, la instalación va a fallar indicando que falta dicho servicio.

Para instalar Full-Text Search, ejecutar el instalador de SQL Server (si es la edición Express, hay que usar el instalador de SQL Server 2008 Express With Advanced Services). En el instalador, elegir la opción "New SQL Server stand-alone installation or add features to an existing installation".

En la ventana "Installation Type" seleccionar "Add features to an existing instance of SQL Server 2008", seleccionar la instancia de la lista desplegable y pulsar "Next". Al llegar a la ventana "Feature Selection" bajo el nodo "Instance Features/Database Engine Services", marcar "Full-Text Search", puslar "Next" y completar el asistente de instalación.

Cómo habilitar el servicio SQL Full-text Filter Daemon Launcher

En el menú de inciio de Windows: Start / All Programs / Microsoft SQL Server 2008 / Configuration Tools / SQL Server Configuration Manager. En el panel izquierdo pulsar "SQL Server Services". En la lista de servicios, clic-derecho en "SQL Full-text Filter Daemon Launcher" para la instancia que se está configurando y clic en "Properties". Luego clic en la pestaña "Service", junto a "Start Mode" clic en "Disabled" y en "Automatic". Luego hacer clic-derecho en "SQL Full-text Filter Daemon Launcher" y pulsar "Start".

Cómo habilitar FILESTREAM
http://msdn.microsoft.com/es-es/library/cc645923.aspx


Las bases de datos AdventureWorks se descargan de: Sample Databases (http://msftdbprodsamples.codeplex.com/ ). El instalador es el siguiente:

SQL2008.AdventureWorks_All_Databases.x86.msi
http://msftdbprodsamples.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=34032#DownloadId=86538

Este instalador a mucha gente, incluido yo, le ha fallado. Cuando aparece la ventana "Database setup", aparece una lista desplegable donde hay que seleccionar la instancia de SQL Server en la que se va a instalar AdventureWorks. Pero sorpresivamente el botón "Next" no se habilita. Para hacer peor las cosas, si se pulsa el botón "Back" y se vuelve a pulsar "Next", volvemos a la ventana y ahora sí está activo el botón "Next". Lo pulsamos y sopresa! La instalación termina indicando que hubo una falla. Trsitemente, no se indica cuál es la falla exactamente.


2. La manera alternativa de instalar AdventureWorks que funciona

2.1. No usar los programas de instalación .msi y descargar las bases de ejemplo en el formato zipeado, que están en:

SQL2008.AdventureWorks_All_Databases.zip
http://msftdbprodsamples.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=34032#DownloadId=86540

/* UPDATE 2010-02-28:

El link fue movido, ahora está en http://msftdbprodsamples.codeplex.com/releases/view/37109#DownloadId=106391

*/




2.2. Expandir el zip en una carpeta, por ejemplo D:\SQL2008.AdventureWorks_All_Databases. Dentro de esa carpeta hay una subcarpeta para cada base de datos. Así, la base AdventureWorksLT2008 está en la subcarpeta:

D:\SQL2008.AdventureWorks_All_Databases\Tools\Samples\AdventureWorks 2008 LT

2.3. Luego abrir una ventana de query en el Management Studio y abrir el archivo del script de creación de la base AdventureWorksLT2008:

D:\SQL2008.AdventureWorks_All_Databases\Tools\Samples\AdventureWorks 2008 LT\instawltdb.sql

2.4. Cuando el script fué cargado en la ventana de comandos, poner a la ventana en "modo SQLCMD" (en el menú del Management Studio: Query / SQLCMD mode).

2.5. Modificar las variables SqlSamplesDatabasePath y SqlSamplesSourceDataPath que aparecen en las líneas 34 y 35 para que contengan los valores adecuados, y descomentar. Las líneas quedarán así (prestar atenció que las rutas terminan en retrobarras \ ) como s ve a continuación:

:setvar SqlSamplesDatabasePath "D:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS2008\MSSQL\DATA\"
:setvar SqlSamplesSourceDataPath "D:\SQL2008.AdventureWorks_All_Databases\Tools\Samples\"


2.6. Ejecutar el script y la base de datos AdventureWorksLT2008 se creará exitosamente.

Finalmente hacer los mismos pasos para la base AdventureWorks 2008 OLTP.



2 comentarios:

  1. hola!!!

    fijate que tengo el problema que mencionas con el instalador, y el link hacia las bd en zip ha sido movido que hago me urge!!!

    ResponderEliminar
  2. Hola Estela, sí, también observo que han movido el link. Lo pude encontrar, ahora es este:

    http://msftdbprodsamples.codeplex.com/releases/view/37109#DownloadId=106391

    Al visitar dicho link saldrá una ventana donde debe usted aceptar las condiciones de licencia. Pulsar "I agree" y la descarga empezará.

    Espero que sea de utilidad.

    ResponderEliminar

Nota: solo los miembros de este blog pueden publicar comentarios.