Se produce un error en la actualización de SQL Server y devuelve el error 15151
Este artículo le ayuda a solucionar el error 15151 que se produce al instalar una actualización acumulativa (CU) o Service Pack (SP) para Microsoft SQL Server. El error se produce cuando se ejecutan scripts de actualización de base de datos.
Síntomas
Cuando se aplica una CU o SP, 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 se registre la siguiente entrada de error en el registro de errores de SQL Server:
Error: 15151, Severity: 16, State: 1.
Cannot find the login '##MS_SSISServerCleanupJobLogin##', because it does not exist or you do not have permission.
Causa
Este problema se produce porque el inicio de sesión (entidad de seguridad del servidor) se quitó manualmente o no se siguen estas instrucciones .
Para obtener más información sobre los scripts de actualización de base de datos que se ejecutan durante la instalación de CU o SP, consulte Solución de errores de script de actualización al aplicar una actualización.
Solución
Para resolver el problema, siga estos pasos:
Inicie SQL Server con la marca de seguimiento 902.
Vuelva a crear el inicio de sesión en el servidor:
CREATE LOGIN [##MS_SSISServerCleanupJobLogin##] WITH PASSWORD = N'<password>', DEFAULT_DATABASE = [master], DEFAULT_LANGUAGE = [us_english], CHECK_EXPIRATION = OFF, CHECK_POLICY = OFF;
Cambie a la base de
SSISDB
datos y asigne el usuario existente al inicio de sesión recién creado:USE SSISDB GO ALTER USER [##MS_SSISServerCleanupJobUser##] WITH LOGIN =[##MS_SSISServerCleanupJobLogin##]
En algunos casos, es posible que también falte la información del usuario de la base de datos. En este caso, vuelva a crear el usuario en la
SSISDB
base de datos y vuelva a ejecutar el paso anterior para asignar el usuario al inicio de sesión:USE [SSISDB] GO DROP USER [##MS_SSISServerCleanupJobUser##] GO CREATE USER [##MS_SSISServerCleanupJobUser##] FOR LOGIN [##MS_SSISServerCleanupJobLogin##] GO ALTER USER [##MS_SSISServerCleanupJobUser##] WITH DEFAULT_SCHEMA=[dbo] GO GRANT EXECUTE ON [internal].[cleanup_server_project_version] TO [##MS_SSISServerCleanupJobUser##] GO GRANT EXECUTE ON [internal].[cleanup_server_retention_window] TO [##MS_SSISServerCleanupJobUser##] GO