Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье устранена проблема, из-за которой накопительное обновление (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
.