Обновление SQL Server иногда может быть сложной задачей, так как есть различные способы, которые могут привести к сбоям в процессе обновления. В этой статье мы рассмотрим одну распространенную ошибку, которая может возникнуть во время обновления, и как ее исправить.
Ошибка, на которую мы сосредоточимся, – это ошибка “Script level upgrade for database ‘master’ failed because of upgrade step sqlagent100_msdb_upgrade.sql”. Эта ошибка может возникнуть по нескольким причинам, таким как наличие существующих объектов в базе данных или проблемы с базой данных msdb.
При обнаружении этой ошибки важно сначала посмотреть на точное сообщение об ошибке в ERRORLOG. Это предоставит ценную информацию о конкретной причине ошибки. В приведенном в статье примере, ERRORLOG показал ошибки, связанные с тем, что база данных msdb была помечена как SUSPECT, и Service Broker был отключен.
Для исправления этой ошибки статья предлагает запустить службу SQL с помощью флага трассировки 902. Это можно сделать, используя следующую команду в командной строке:
NET START MSSQLSERVER /T902Если вы используете именованный экземпляр, команда будет следующей:
NET START MSSQL$INSTANCENAME /T902Запуск службы SQL с этим флагом трассировки обходит скрипт обновления и позволяет подключиться к SQL Server без запуска обновления. После подключения вы можете приступить к исправлению основной проблемы, вызывающей сбой обновления.
В приведенном в статье примере проблема была решена путем восстановления базы данных msdb из последней известной рабочей резервной копии. После завершения восстановления служба SQL была остановлена и запущена нормально, без каких-либо флагов трассировки. В этот раз скрипты обновления успешно выполнились, и SQL Server был запущен и работал.
Если вы столкнулись с другими ошибками скрипта обновления, важно незамедлительно их устранить, чтобы обеспечить успешное обновление вашего SQL Server. Если вы хотите узнать больше о конкретной ошибке обновления, не стесняйтесь обращаться, и я с удовольствием напишу статью на эту тему.
Спасибо за чтение!