PROBLEMAS Y SOLUCIONES EN LA INSTALACIÓN Y CONFIGURACIÓN DE SQL SERVER 2008
Exactamente el error que encontraremos es:
MsiGetProductInfo no pudo recuperar ProductVersion para el paquete con el código de producto =
'{16FD17A5-E7A5-4D06-A945-35C3671F1336}'. Código de error: 1605..
Para solventar el problema realicé una serie de pasos pero dichos pasos pueden dividirse en 3 partes de forma que podríamos tener arreglado el problema en la segunda parte y no ser necesario pasar a la tercera.
1ª PARTE
1) Comprobar que la versión que queremos instalar no esté instalada ya, es decir, asegurarnos que todos los paquetes de Microsoft SQL Server 200x (versión que queremos instalar) estén desinstalados. Si están desinstalados correctamente probaremos de nuevo instalar el paquete. Si volvemos a tener el mismo error quiere decir que hay una instalación defectuosa, es decir, el paquete no se ha desinstalado bien anteriormente o se ha instalado "a medias". Para solucionarlo procedemos con el siguiente punto.
2ª PARTE
2) Abrimos la consola de servicios de Windows (Inicio - Ejecutar - "services.msc") y verificamos que no tengamos ningún servicio de Microsoft SQL Server 200x instalado;
3) Si tenemos servicios instalados deberemos hacer lo siguiente para eliminarlos:
a) Parar todo los servicios que esten funcionando. Servicios referentes a Microsoft SQL Serve 200x como el Agente o el SQL Browser;
b) Anotar el nombre de dichos servicios (Abriendo sus propiedades lo podremos ver dónde indica "Nombre de Servicio" o "Service Name"). Por ejemplo: SQLAgent%SQLEXPRESS, SQLWriter, MSSQL$SQLEXPRESS o SQLBrowser;
c) Iremos al símbolo del sistema (Incio - Ejecutar - "cmd") y por cada nombre de servicios ejecutaremos el siguiente comando: sc delete [Nombre_del_servicio], por ejemplo: sc delete MSSQL$SQLEXPRESS.
4) Posteriormente descargaremos y ejecutaremos (con mucha delicadeza) la herramienta "Microsoft Clean Up Utility". Realmente ésta herramienta ha sido creada para corregir instalaciones de Microsoft Office pero la podremos utilizar sin problemas para éste motivo. Una vez abrimos la herramienta buscaremos los paquetes referentes a SQL Server 200x y los suprimiremos.
5) Abriremos el Regedit (Inicio - Ejeuctar - "regedit") y realizaremos un backup (Exportar) de todas las claves ubicadas en "HKLM/SOFTWARE/MICROSOFT" que hagan referencia a "Microsoft SQL Server 2008". Posteriormente, una vez finalizada la copia de seguridad, eliminaremos dichas claves.
6) Ahora nos dirigiremos a la carpeta de "Archivos de Programa" y renombraremos las carpetas de "Microsoft SQL Serve 200x" (mejor renombrar que no eliminar).
7) Reiniciaremos la máquina.
8) Si el sistema ha arrancado correctamente probaremos nuevamente instalar SQL Server 200x. En caso de continuar teniendo problemas y volvamos a encontrarnos con el error 1605 procederemos al siguiente punto (9);
3ª PARTE
Ésta parte ya es definitiva, es decir, conseguiréis arreglar el problema pero tenéis que llevar mucha precaución y prestar mucha atención a lo que comento a continuación:
9) Recogeremos los 8 primeros carácteres alfanuméricos de la clave ID que nos acompaña en el famoso error 1605, es decir, que si por ejemplo tenemos la clave "{16FD17A5-E7A5-4D06-A945-35C3671F1336}" anotaremos "16FD17A5";
10) Ahora lo que hay que hacer es invertir el orden, es decir, si habíamos recogido "16FD17A5" anotaremos el resultado "5A71DF61";
11) ¿Qué hacemos con ésto? Pues buscaremos los 8 carácteres alfanuméricos resultantes en el Regedit y exportaremos, como copia de seguridad, aquellos ubicados en "HCROOT/Installer/UpgradeCodes" o "HKLM/Installer/UpgradeCodes". Por ejemplo:
[HKEY_CLASSES_ROOT\Installer\UpgradeCodes\7AB711B11CB5E91428E0D7F4F314C2B7]
"5A6FB34A0F5DAAA4FB1456990536CE44"=""
12) Una vez exportados ya los podremos eliminar, pero es importante destacar que sólo eliminaremos aquellos que corresponden al apartado "UpgradeCodes".
Finalmente volveremos a probar de instalar Microsoft SQL Serve 2008 y si nos vuelve a aparecer el error 1605 seguramente vendrá acompañado de otra clave por lo que realizaremos éstos últimos pasos correspondientes a la tercera parte (9, 10, 11 y 12) hasta que podamos instalar Microsoft SQL Server 2008 sin problemas.
2. Para reparar una instalación con errores de SQL Server desde el Centro de instalación
1. Inicie el programa de instalación de SQL Server (setup.exe) desde el disco de instalación de SQL Server.
2. Después de comprobar los requisitos previos y el sistema, el programa de instalación mostrará la página Centro de instalación de SQL Server.
3. Haga clic en Mantenimiento en el área de navegación de la izquierda y, a continuación, haga clic en Reparar para iniciar la operación de reparación.
4. En la página Selección de idioma, puede especificar el idioma para su instancia de SQL Server si va a realizar la instalación en un sistema operativo localizado y el medio de instalación incluye paquetes de idioma en inglés y en el idioma correspondiente al sistema operativo. Para obtener más información acerca de la compatibilidad entre idiomas y las consideraciones acerca de la instalación, vea Versiones en idioma local en SQL Server.
Para continuar, haga clic en Siguiente.
5. Configure las reglas auxiliares del programa de instalación y las rutinas de archivo para asegurarse de que el sistema tiene instalados los requisitos previos y de que el equipo pasa las reglas de validación del programa de instalación. Haga clic en Aceptar o en Instalar para continuar.
6. En la página Seleccionar instancia, seleccione la instancia que desea reparar y, a continuación, haga clic en Siguiente para continuar.
7. Las reglas de reparación se ejecutarán para validar la operación. Para continuar, haga clic en Siguiente.
8. La página Listo para reparar indica que la operación está lista para continuar. Para continuar, haga clic en Reparar.
9. La página Progreso de la reparación muestra el estado de la operación de reparación. La página Operación completada indica que la operación ha finalizado.
3. Para reparar una instalación con errores de SQL Server utilizando el símbolo del sistema
· Ejecute el comando siguiente en el símbolo del sistema:
Setup.exe /q /ACTION=Repair /INSTANCENAME=instancename
4. Error al Instalar SQL Server 2008
Este error es fácil de solucionar, se debe a que el paquete de instalación de SQL SERVER 2008 R2 verificado la configuración regional/idioma de nuestra computadora y verifica que este en Español, pero yo lo tengo en Español, porque me da ese error ¿?.
Bueno en este caso Windows está configurado como Español (México) y lo que la instalación verifica es que estemos en Español (España).
Muchos de nosotros podemos estar en Español (México), Español (Argentina) etc… y tendremos este problema, lamentablemente se les paso la mano en ese aspecto a los del SQL Server. Pero vamos a la solución que como les dije es bastante simple.
Solución:
1. Ir al Panel de Control
2. Configuración regional y de idioma
3. Formatos: Seleccionar Español( España)
4. Aplicar Cambios
5.
6. Ejecutamos la Instalación de SQL SERVER 2008
7. Una vez instalado SQL Server podemos regresar a nuestra configuración anterior
9. La Seleccionamos y damos a Aplicar
8.
9. La Seleccionamos y damos a Aplicar
5. Error Instalando SQL Server 2008: Valor inválido para INSTANCESHAREDWOWDIR
Realizando la instalación de SQL Server 2008, en un PC con Windows Server 2008 64 bits, me he topado con un error que no me deja continuar con la instalación. Dicho error dice que INSTANCESHAREDWOWDIR no tiene un valor correcto.
Tras intentar decenas de cosas, y leer en varios foros, parecía que la solución estaba en ejecutar setup.exe desde la consola de comandos especificando, mediante un parámetro, el valor correcto para éste. Pero no se ha solucionado.
Después de un buen rato, he dado con la solución que me ha permitido instalar SQL Server 2008 en esa máquina:
· Ejecutar \x64\setup\x64\SQLSysClrTypes.msi (se encuentra en el CD)
· Borrar esta entrada del registro [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-518\ Components\0D1F366D0FE0E404F8C15EE4F1C15094]
· Borrar esta entrada del registro [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\ Components\C90BFAC020D87EA46811C836AD3C507F].
Una vez hecho esto, he vuelto a ejecutar la instalación, de forma normal, y todo ha funcionado correctamente. Además, la instalación ahora me ha permitido cambiar la ruta para el parámetro INSTANCESHAREDWOWDIR, aunque no he necesitado cambiarla.

6. Error: No se puede abrir el archivo físico. Problema con el UAC (User Account control
Apareció un nuevo problema en mi utilización de SQL2008 y Windows 7 a la hora de adjuntar una base de datos
Con la base de ejemplo AdventureWorksLT2008 (la puedes descargar por aquí
) descargue el .mdf y el .ldf para “attacharlos”
El script:
USE [master]
GO
CREATE DATABASE [AdventureWorksLT2008] ON
( FILENAME = N'C:\SQLDATA\AdventureWorksLT2008_Data.mdf' ),
( FILENAME = N'C:\SQLDATA\AdventureWorksLT2008_Log.ldf' )
FOR ATTACH
GO
Mensaje de Error:
Msg 5120, Level 16, State 101, Line 1
No se puede abrir el archivo físico "C:\SQLDATA\AdventureWorksLT2008_Data.mdf". Error del sistema operativo 5: "5(failed to retrieve text for this error. Reason: 15105)".
La pantalla si lo estas haciendo mediante el UI
Solución 1:
Ejecutar el SSMS como Administrador.
Solución 2
La anterior solución nos da la idea que nos falta algo de permisos
desde TECHNET:
(…)El programa de instalación de SQL Server crea grupos de servicio local para los diferentes servicios de SQL Server y agrega las cuentas de servicio o los SID de servicio a estos grupos según sea necesario. Estos grupos simplifican la concesión de los permisos necesarios para ejecutar los servicios de SQL Server y otros ejecutables, y ayudan a proteger los archivos de SQL Server.(…) (mas info
)
Grupo de Usuarios:
Instancia predeterminada: SQLServerMSSQLUser$nombreDeEquipo$MSSQLSERVER
Instancia con nombre: SQLServerMSSQLUser$nombreDeEquipo$nombreDeInstancia
7. Solución de problemas en la conexión a SQL Server 2008
Las primeros acciones para solucionar problemas de conexión remota, hay que asegurarse que Named-pipe (NP) o TCP están habilitados en la instancia remota de SQL Server.
Con la base de ejemplo AdventureWorksLT2008 (la puedes descargar por aquí

El script:
USE [master]
GO
CREATE DATABASE [AdventureWorksLT2008] ON
( FILENAME = N'C:\SQLDATA\AdventureWorksLT2008_Data.mdf' ),
( FILENAME = N'C:\SQLDATA\AdventureWorksLT2008_Log.ldf' )
FOR ATTACH
GO
Mensaje de Error:
Msg 5120, Level 16, State 101, Line 1
No se puede abrir el archivo físico "C:\SQLDATA\AdventureWorksLT2008_Data.mdf". Error del sistema operativo 5: "5(failed to retrieve text for this error. Reason: 15105)".
La pantalla si lo estas haciendo mediante el UI
Solución 1:
Ejecutar el SSMS como Administrador.
Solución 2
La anterior solución nos da la idea que nos falta algo de permisos
desde TECHNET:
(…)El programa de instalación de SQL Server crea grupos de servicio local para los diferentes servicios de SQL Server y agrega las cuentas de servicio o los SID de servicio a estos grupos según sea necesario. Estos grupos simplifican la concesión de los permisos necesarios para ejecutar los servicios de SQL Server y otros ejecutables, y ayudan a proteger los archivos de SQL Server.(…) (mas info

Grupo de Usuarios:
Instancia predeterminada: SQLServerMSSQLUser$nombreDeEquipo$MSSQLSERVER
Instancia con nombre: SQLServerMSSQLUser$nombreDeEquipo$nombreDeInstancia
7. Solución de problemas en la conexión a SQL Server 2008
Las primeros acciones para solucionar problemas de conexión remota, hay que asegurarse que Named-pipe (NP) o TCP están habilitados en la instancia remota de SQL Server.
El servicio SQL Browser es un servicio Windows que inicia y solicita el puerto UDP 1434. Cuando una aplicación cliente quiere conectarse, envía un mensaje UDP al servidor por el puerto 1434. El SQL Browser responde al mensaje indicando cuál es el puerto TCP/IP o el NP en el que la instancia solicitada está atendiendo.
Ahora es necesario que el SQL Browser esté iniciado para cuando un cliente intenta conectarse a una instancia de SQL Server. Si la instancia remota es una instancia sin nombre, no es requerido tener iniciado al SQL Browser ya que los clientes van a intentar usar el puerto TCP 1433 y el Named-pipe (NP) "pipesqlquery".
La lista de problemas que puede aparecer se relacionan entonces con:
1. Falla de conexión sobre TCP/IP o NP, si el protocolo usado no está habilitado.
2. Falla de conexión sobre TCP/IP o NP si hay un firewall intermedio y están bloqueados los puertos necesarios o no se ha agregado a la lista de excepciones del firewall a "File and Printer Sharing".
3. Falla de conexión a la instancia SQL remota si el SQL Browser no está iniciado o si el puerto TCP 1434 (donde escucha el SQL Browser) no está abierto en el firewall.
Veamos ahora cómo hacer el tratar un problema de conectividad a una instancia remota. Asumiremos que la instancia de SQL server está iniciada en un servidor remoto y que el cliente ha especificado correctamente el nombre de la instancia remota.
EN EL SERVIDOR SQL:
1. Habilitar TCP y/o NP remoto:
SS2005: Usar SQL Server Surface Area Configuration / Configuration for Services and Connections / Remote Connections.
SS2008: Usar Management Studio / Object Explorer / Seleccionar instancia, clic-derecho, propiedades, Connections y marcar "Allow connections to this server".
2. Verificar el log de errores del servidor SQL, determinar en qué puerto TCP y/o NP está escuchando.
3. Cuando se usa TCP, usar el comando de línea NETSTAT para ver si el servidor está escuchando en el puerto correcto.
netstat -noa findstr NumeroPuerto
4. Verificar el servicio SQL Browser:
Ejecutar en línea de comandos SERVICES.MSC, buscar el servicio "SQL Server Browser", habilitarlo y reiniciarlo. También ir a la utilidad SQL Server Configuration Manager, revisar las propiedades del SQL Browser, en la sección "Advanced" y confirmar que está activo.
5. Habilitar "File and Printer Sharing" en la lista de excepciones del firewall.
6. Agregar el puerto TCP y/o SQLSERVR.EXE (..Binnsqlservr.exe) a la lista de excepciones del firewall.
7. Agregar SQLBROWSER.EXE (..Sharedsqlbrowser.exe) a la lista de excepciones del firewall o agregar el puerto UDP 1434.
8. Confirmar si la instancia remota SQL es la instancia por omisión (sin nombre)
En este caso debe escuchar en el puerto TCP 1433 y en el NP "pipesqlquery"
EN LA ESTACIÓN CLIENTE:
1. Probar PING:
ping IPservidorSql
2. Probar TELNET:
telnet IPservidorSqlNombreInstancia NumeroPuerto
Si la consola de comandos queda totalmente negra sin mensajes, el TELNET ha sido exitoso. Falla cuando aparece un mensaje de error indicando que no pudo conectarse al servidor.
3. Probar IpServidorSql
4. Verificar los protocolos del cliente:
Usar SQL Server Configuration Manager / SQL Native Client Configuration / Client Protocols. Confirmar que NP o TCP están habilitados; clic en las propiedades de los protocolos cliente, ver que NP o TCP están habilitados. Se recomienda poner a TCP al comienzo de la lista de protocolos.
5. Configurar MDAC:
Si se usa MDAC (Driver={SQL Server} o SQLOLEDB.x) en la aplicación cliente, en línea de comandos ejecutar CLICONFG.EXE, habilitar NP y TCP (poner TCP primero en la lista).
6. Probar conexión con OSQL.EXE o SQLCMD.EXE:
osql /S servidorinstancia /E
osql /S servidorinstancia /U usuario /P password
7. Revisar string de conexión
Revisar la sintaxis y los valores del string de conexión de la aplicación cliente, es frecuente cometer errores en el string de conexión.
8. Revisar alias
Si la aplicación cliente se conecta al servidor remoto usando un alias: Si se usa MDAC ejecutar CLICONFG.EXE, ver la solapa "Alias". Si se usa el SQL Native Client, ejecutar SQL Server Configuration Manager y revisar "Aliases".
No hay comentarios:
Publicar un comentario