Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Эта статья поможет устранить ошибку 15151, возникающую при установке накопительного обновления (CU) или пакета обновления (SP) для Microsoft SQL Server. Ошибка возникает при выполнении скриптов обновления базы данных.
Симптомы
При применении cu или SP программа установки возвращает следующее сообщение об ошибке:
Ошибка при ожидании дескриптора восстановления компонента Database Engine. Проверьте журнал ошибок SQL Server на наличие потенциальных причин.
Кроме того, в журнал ошибок 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.
Причина
Эта проблема возникает из-за того, что имя входа (субъект сервера) было удалено вручную или эти инструкции не следуют.
Дополнительные сведения о сценариях обновления базы данных, выполняемых во время установки cu или SP, см. в статье "Устранение неполадок с скриптами обновления при применении обновления".
Решение
Чтобы разрешить эту проблему, выполните следующие действия:
Запустите SQL Server с флагом трассировки 902.
Повторно создайте имя входа на сервере:
CREATE LOGIN [##MS_SSISServerCleanupJobLogin##] WITH PASSWORD = N'<password>', DEFAULT_DATABASE = [master], DEFAULT_LANGUAGE = [us_english], CHECK_EXPIRATION = OFF, CHECK_POLICY = OFF;
Переключитесь в
SSISDB
базу данных и сопоставите существующего пользователя с только что созданным именем входа:USE SSISDB GO ALTER USER [##MS_SSISServerCleanupJobUser##] WITH LOGIN =[##MS_SSISServerCleanupJobLogin##]
В некоторых случаях сведения о пользователе базы данных также могут быть отсутствуют. В этом случае повторно создайте пользователя в
SSISDB
базе данных, а затем выполните предыдущий шаг, чтобы сопоставить пользователя с именем входа: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