Se produce un error en la actualización de SQL Server si las entidades de seguridad basadas en certificados poseen objetos de usuario
Este artículo le ayuda a solucionar un problema en el que una actualización acumulativa (CU) o Service Pack (SP) para SQL Server notifica el error 574 al ejecutar scripts de actualización de base de datos.
Síntomas
Al aplicar una CU o SP para SQL Server, el programa de instalación devuelve el siguiente mensaje de error:
Error en la espera del controlador de recuperación del Motor de base de datos. Compruebe el registro de errores de SQL Server para buscar posibles causas.
Además, es posible que las siguientes entradas de error se registren en el registro de errores de SQL Server junto con los errores 912 y 3417:
15136 The database principal is set as the execution context of one or more procedures, functions, or event notifications and cannot be dropped.
15138 The database principal owns a %S_MSG in the database, and cannot be dropped.
15141 The server principal owns one or more %S_MSG(s) and cannot be dropped.
15154 The database principal owns an %S_MSG and cannot be dropped.
15155 The server principal owns a %S_MSG and cannot be dropped.
15183 The database principal owns objects in the database and cannot be dropped.
15184 The database principal owns data types in the database and cannot be dropped.
15186 The server principal is set as the execution context of a trigger or event notification and cannot be dropped.
15284 The database principal has granted or denied permissions to objects in the database and cannot be dropped.
15421 The database principal owns a database role and cannot be dropped.
27226 The database principal has granted or denied permissions to catalog objects in the database and cannot be dropped.
33015 The database principal is referenced by a %S_MSG in the database, and cannot be dropped.
Error: 912, Severity: 21, State: 2.
Script level upgrade for database 'master' failed because upgrade step 'SSIS_hotfix_install.sql' encountered error 945, state 2, severity 25. This is a serious error condition which might interfere with regular operation and the database will be taken offline. If the error happened during upgrade of the 'master' database, it will prevent the entire SQL Server instance from starting. Examine the previous errorlog entries for errors, take the appropriate corrective actions and re-start the database so that the script upgrade steps run to completion.
Error: 3417, Severity: 21, State: 3.
Cannot recover the master database. SQL Server is unable to run. Restore master from a full backup, repair it, or rebuild it. For more information about how to rebuild the master database, see SQL Server Books Online.
SQL Server shutdown has been initiated
Causa
Las entidades de seguridad de servidor que se incluyen dentro de marcas hash dobles (##) se crean a partir de certificados cuando se instala SQL Server. Estas entidades de seguridad se tratarán como entidades de seguridad creadas por el sistema. No deben asignarse a entidades de seguridad de base de datos que poseen objetos de usuario en msdb
u otras bases de datos. Los cambios realizados en esta configuración predeterminada pueden provocar errores al intentar actualizar SQL Server. Esto se debe a que los scripts de actualización suponen que estos objetos solo tienen dependencias creadas por SQL Server.
Solución
Inicie SQL Server mediante la marca de seguimiento 902.
Para determinar la asignación de entidades de seguridad de servidor a entidades de seguridad de base de datos, ejecute el siguiente comando:
EXEC master.sys.sp_helplogins
Cambie la propiedad de los objetos afectados a un usuario diferente.
Reinicie SQL Server sin marca
902
de seguimiento para que el script de actualización pueda terminar de ejecutarse.
Nota:
Aunque un error al ejecutar scripts de actualización es una de las causas comunes del error "Wait on Motor de base de datos recovery handle failed", este problema también puede producirse por otros motivos. El error significa que el instalador de actualización no pudo iniciar el servicio ni ponerlo en línea después de instalar la actualización. En cualquier caso, la solución de problemas implica una revisión de los registros de errores y los registros de instalación para determinar la causa del error y tomar las medidas adecuadas.
Consulte también
Solución de errores de script de actualización al aplicar una actualización