Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
В этой статье устранена проблема, из-за которой накопительное обновление (CU) или пакет обновления (SP) сообщает об ошибке 2714 при запуске скриптов обновления базы данных.
Симптомы
При применении cu или sp программа установки может сообщить следующее сообщение об ошибке:
Ошибка при ожидании дескриптора восстановления компонента Database Engine. Проверьте журнал ошибок SQL Server на наличие потенциальных причин.
При просмотре журнала ошибок SQL Server вы можете заметить одну из следующих групп сообщений об ошибках:
2021-07-27 14:08:44.31 spid6s Error: 2714, Severity: 16, State: 6.
2021-07-27 14:08:44.31 spid6s There is already an object named 'DatabaseMailUserRole' in the database.
2021-07-27 14:08:44.31 spid6s Error: 2759, Severity: 16, State: 0.
2021-07-27 14:08:44.31 spid6s CREATE SCHEMA failed due to previous errors.
2021-07-27 14:08:44.31 spid6s Error: 912, Severity: 21, State: 2.
2021-07-27 14:08:44.31 spid6s Script level upgrade for database 'master' failed because upgrade step 'msdb110_upgrade.sql' encountered error 2714, state 6, 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.
2021-07-27 14:08:44.32 spid6s Error: 3417, Severity: 21, State: 3.
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.
2021-07-27 14:08:44.31 spid6s Error: 2714, Severity: 16, State: 6.
2021-07-27 14:08:44.31 spid6s There is already an object named 'TargetServersRole' in the database.
2021-07-27 14:08:44.31 spid6s Error: 912, Severity: 21, State: 2.
2021-07-27 14:08:44.31 spid6s Script level upgrade for database 'master' failed because upgrade step 'msdb110_upgrade.sql' encountered error 2714, state 6, 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.
2021-07-27 14:08:44.32 spid6s Error: 3417, Severity: 21, State: 3.
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.
Устранение проблемы с обновлением схемы DatabaseMailUserRole
Просмотрите следующие сведения, чтобы устранить проблему обновления, связанную с DatabaseMailUserRole.
Причина
Эта ошибка возникает, если системная схема, пользователь или роль неправильно настроены в msdb базе данных.
Это также происходит, когда скрипт обновления не сможет воссоздать схему DatabaseMailUserRole msdb в базе данных. Эта проблема может возникать, если DatabaseMailUserRole схема не принадлежит роли, например, если схема dboпринадлежитDatabaseMailUserRole.
Дополнительные сведения о сценариях обновления базы данных, выполняемых во время установки cu или SP, см. в статье "Устранение неполадок с ошибками скриптов обновления при применении обновления".
Решение
Остановите и перезапустите SQL Server с помощью T902. Например, эту команду можно выполнить из командной строки:
Для экземпляра по умолчанию:
NET START MSSQLSERVER /T902Для именованных экземпляров:
NET START MSSQL$INSTANCENAME /T902Резервное копирование
msdbбазы данных в качестве меры предосторожности.BACKUP DATABASE msdb TO disk = '<backup folder>'Откройте СРЕДУ SQL Server Management Studio, подключитесь к экземпляру SQL Server и создайте резервную копию
msdbбазы данных.Разверните схемы>безопасности>системных баз данных>
msdb>>DatabaseMailuserRole.Удалите схему с именем
DatabaseMailUserRole.Остановите SQL Server и перезапустите его без флага трассировки 902.
После запуска SQL Server без флага трассировки 902 скрипт обновления выполняется снова, а
DatabaseMailUserRoleсхема создается повторно.- Если скрипт обновления sp или CU успешно завершен, проверьте журнал ошибок SQL Server и папку начальной загрузки, чтобы проверить.
- Если скрипт обновления завершается ошибкой, проверьте журнал ошибок SQL Server для других ошибок и устраните новые ошибки.
Устранение проблемы обновления с ролью TargetServersRole
Просмотрите следующие сведения, чтобы устранить проблему обновления, связанную с TargetServersRole.
Причина
Эта ошибка возникает, когда скрипт обновления не сможет повторно создать TargetServersRole роль безопасности в msdb базе данных. Эта роль используется в средах с несколькими серверами. По умолчанию TargetServersRole роль безопасности принадлежит dboэтой схеме TargetServersRole . Если вы непреднамеренно изменяете эту связь, а обновление, которое вы устанавливаете, включает изменения в любую из этих ролей, обновление может завершиться ошибкой и возвратом ошибки 2714: There is already an object named 'TargetServersRole' in the database. Чтобы устранить ошибку, выполните следующие действия.
Решение
Остановите и перезапустите SQL Server с помощью T902.
Для экземпляра по умолчанию:
NET START MSSQLSERVER /T902Для именованных экземпляров:
NET START MSSQL$INSTANCENAME /T902Резервное копирование
msdbбазы данных в качестве меры предосторожности.BACKUP DATABASE msdb TO disk = '<backup folder>'Сделайте список пользователей (если имеются), которые входят в эту роль. Вы можете вывести список членов роли, выполнив следующий запрос:
EXEC msdb.dbo.sp_helprolemember 'TargetServersRole'Удалите роль с помощью следующей
TargetServersRoleинструкции:EXEC msdb.dbo.sp_droprole @rolename = N'TargetServersRole'Чтобы проверить, устранена ли проблема, перезапустите экземпляр SQL Server без использования флага
902трассировки.Повторно добавьте пользователей из шага 3 в
TargetServersRole.