Proceso de marcha atrás para una migración fallida de Instancia en Cluster SQL Server
Pongamos un caso práctico en el que haya que migrar una instancia SQL Server de producción que está en un Cluster Windows Server 2003 a un Cluster Windows Server 2008. Uno de los primeros pasos cuando migramos es apagar el servicio de Cluster SQL y borrar el nombre del Cluster SQL del directorio activo, puesto que sino el Cluster Windows Server 2008 que creemos encontrará un nombre duplicado cuando intente crear el Cluster SQL, aquí nos encontraremos con un problema si en mitad de la migración hubiera que dar marcha atrás puesto que el servicio SQL Server en el Cluster Windows Server 2003 no iniciaría. Para restaurar el Cluster SQL en el Cluster Windows Server 2003:
- Borrar del Directorio Activo la cuenta del Cluster SQL
- Borrar del Servidor DNS la entrada perteneciente al Cluster SQL
- Quitar dependencia de Network Name al recurso SQL Server en el Cluster SQL dentro del Cluster Windows Server 2003
- Borrar en el Cluster SQL dentro del Cluster Windows Server 2003 los recursos IP Address y Network Name
- Borrar en el Cluster SQL dentro del Cluster Windows Server 2008 los recursos IP Address y Network Name
- Una vez borrado, crear en el Cluster SQL dentro del Cluster Windows Server 2003 los recursos IP Address y Network Name, este último con dependencia de IP Address, y añadir dependecia de Network Name al recurso SQL Server
- El servicio iniciará sin problemas
Si por error o por no quitar la dependencia, se borrara el recurso SQL Server y SQL Server Agent, será necesario volver a crear el recurso SQL Server con dependencia de Network Name y todos los discos de la instancia, crear el recurso SQL Server Agent con dependencia del recurso SQL Server y editar en HKEY_LOCAL_MACHINE\Cluster\Resources\<GUID>\Parameters, las entradas de GUID referentes al servicio SQL Server y al servicio SQL Server Agent, y añadir en ambos casos los parámetros:
- InstanceName, de tipo String Value y como valor <Nombre de la Instancia>
- VirtualServerName, de tipo String Value y como valor <Nombre del Network Name>
(Más información en A SQL Server cluster resource goes to a “failed” state when you try to bring the resource online in SQL Server) En mi caso, como estaba haciendo pruebas, luego quería volver a la instancia ya migrada en 2008, para ello hay que hacer lo siguiente: Para restaurar el Cluster SQL en un Cluster Windows Server 2008:
- Borrar del Directorio Activo la cuenta del Cluster SQL
- Borrar del Servidor DNS la entrada perteneciente al Cluster SQL
- Quitar dependencia de Network Name al recurso SQL Server en el Cluster SQL dentro del Cluster Windows Server 2003
- Borrar en el Cluster SQL dentro del Cluster Windows Server 2003 los recursos IP Address y Network Name
- Borrar en el Cluster SQL dentro del Cluster Windows Server 2008 los recursos IP Address y Network Name
- Una vez borrado, crear en el Cluster SQL dentro del Cluster Windows Server 2008 un Client Access Point con los datos pertenecientes a IP Address y Network Name
- El servicio iniciará sin problemas
Si por error se borrara el recurso SQL Server y SQL Server Agent, será necesario volver a crear el recurso SQL Server con dependencia del Network Name y todos los discos de la instancia, crear el recurso SQL Server Agent con dependencia del recurso SQL Server y editar en las propiedades de ambos los valores VirtualServerName e InstanceName
Consultor Senior SQL Server & BI con 9 años de experiencia, MCSE Data Platform con conocimientos de toda la herramienta y enfocado principalmente a la detección y mejora de problemas de rendimiento en Base de Datos. En mi tiempo libre soy un gran aficionado a la fotografía de estilo urbano y de lugares abandonados.