Nuestro servicio de SQL Server estuvo caído esta mañana, lo que provocó la caída de algunos de nuestros sitios web. Cuando fui a verificar el Visor de eventos de Windows, vi los siguientes errores:
La actualización a nivel de script para la base de datos 'master' falló porque el paso de actualización 'SSIS_hotfix_install.sql' encontró el error 942, estado 4, gravedad 25
No se puede recuperar la base de datos maestra. SQL Server no puede ejecutarse. Restaurar maestro desde una copia de seguridad completa, repararlo o reconstruirlo. Para obtener más información sobre cómo reconstruir la base de datos maestra, consulte los Libros en pantalla de SQL Server.
Lo primero que hice fue buscar en Google los errores. Finalmente encontré una entrada en el foro con el problema exacto y una solución (también en una entrada de blog donde estoy buscando una solución ). El problema tiene algo que ver con los grupos de disponibilidad AlwaysOn y la solución requiere que:
Inicie el servicio SQL Server con Trace Flag 902:
Net Start MSSQL $ InstanceName / T902
Abra SQL Server Management Studio, vaya al Grupo de disponibilidad y elimine SSISDB de las bases de datos de disponibilidad.
Abra Nueva consulta, ejecute el script SSIS_hotfix_install.sql que se puede encontrar en la carpeta de instalación en \ Archivos de programa \ Microsoft SQL Server \ MSSQL11.MSSQL $ InstanceName \ MSSQL
Detenga los servicios de SQL Server:
Net Stop MSSQL $ InstanceName
Inicie el servicio del servidor SQL desde el administrador de configuración de SQL Server
Agregar SSISDB nuevamente al grupo de disponibilidad
Sin embargo, no pude pasar el paso 2 porque recibí el siguiente error cuando intenté expandir la carpeta "AlwaysOn High Availability":
La función "AlwaysOn" debe estar habilitada para la instancia del servidor 'InstanceName' antes de que pueda crear un grupo de disponibilidad en esta instancia.
Luego seguí las instrucciones para ir al "Administrador de configuración de SQL Server" y la pestaña "Siempre disponible de alta disponibilidad" para activar la función. Esta vez, la función estaba atenuada y había un mensaje que decía que el nodo de la computadora no está en un clúster de conmutación por error.
Mi pregunta es:
¿Cómo puedo solucionar este problema si ni siquiera tenemos una configuración de clúster de conmutación por error que use esta función?
Me encontré con dbcc checkdb
el maestro; los resultados fueron:
CHECKDB encontró 0 errores de asignación y 0 errores de consistencia en la base de datos 'maestra'.
El grupo de disponibilidad AlwaysOn NO está activado porque ni siquiera tengo un clúster de conmutación por error.