SQL Server 2016安裝SP3補(bǔ)丁的時候報錯,由于升級步驟'msdb110_upgrade.sql'遇到錯誤200(狀態(tài)7,嚴(yán)重性25),因此數(shù)據(jù)庫'master'的腳本級別升級
廣告:
問題:今天在測試環(huán)境對SQL Server 2016安裝SP3補(bǔ)丁的時候報錯,然后再啟動數(shù)據(jù)庫服務(wù)的時候報下面的錯誤,重啟服務(wù)器錯誤仍舊存在。由于升級步驟 'msdb110_upgrade.sql' 遇到錯誤 200(狀態(tài) 7,嚴(yán)重性 25),因此數(shù)據(jù)庫 'master' 的腳本級別升級失敗。這是一種錯誤情況,可能會妨礙正常操作,且數(shù)據(jù)庫將脫機(jī)。如果在 'master' 數(shù)據(jù)庫升級過程中發(fā)生該錯誤,將阻止整個 SQL Server 實例啟動。請在以前的錯誤日志條目中檢查相關(guān)錯誤,采取相應(yīng)的更正措施,然后重新啟動數(shù)據(jù)庫,以便完成腳本升級步驟。 無法恢復(fù) master 數(shù)據(jù)庫。SQL Server 無法運行。請利用完整備份還原 master 數(shù)據(jù)庫,修復(fù)它,或者重新生成它。有關(guān)如何重新生成 master 數(shù)據(jù)庫的詳細(xì)信息,請參閱 SQL Server 聯(lián)機(jī)叢書。2022-08-19 20:50:45.50 spid9s Uploading data collector package from disk: C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Install\SqlTraceCollect.dtsx2022-08-19 20:50:45.51 spid9s Uploading data collector package from disk: C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Install\SqlTraceCollect.dtsx2022-08-19 20:50:45.51 spid9s Error: 2775, Severity: 17, State: 12.2022-08-19 20:50:45.51 spid9s The code page 65001 is not supported by the server.2022-08-19 20:50:45.51 spid9s Error: 912, Severity: 21, State: 2.2022-08-19 20:50:45.51 spid9s Script level upgrade for database 'master' failed because upgrade step 'msdb110_upgrade.sql' encountered error 200, state 7, 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.2022-08-19 20:50:45.51 spid9s Error: 3417, Severity: 21, State: 3.2022-08-19 20:50:45.51 spid9s Cannot recover the master database. SQL Server is unable to run. 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.2022-08-19 20:50:45.51 spid9s SQL Server shutdown has been initiated2022-08-19 20:50:45.51 spid9s SQL Trace was stopped due to server shutdown. Trace ID = '1'. This is an informational message only; no user action is required
原因分析:按照報錯的信息,開始以為是在安裝補(bǔ)丁的時候報錯導(dǎo)致服務(wù)起不來。然后按照錯誤日志分析,可能是在安裝補(bǔ)丁,執(zhí)行msdb110_upgrade.sql的腳本時出現(xiàn)了某些錯誤,導(dǎo)致無法啟動。通過/T902參數(shù),跳過異常問題啟動數(shù)據(jù)庫,手動執(zhí)行msdb110_upgrade.sql腳本時,再最后出現(xiàn)“消息 2775,級別 17,狀態(tài) 12,第 65143 行 服務(wù)器不支持代碼頁 65001”的錯誤。code page 65001對應(yīng)的編碼為UTF-8,而數(shù)據(jù)庫排序規(guī)則為Chinese_PRC_CI_AS,對應(yīng)的code page為936。也不知道誰在部署服務(wù)器的時候再“區(qū)域設(shè)置”勾選了支持UTF-8編碼,所以只需在 ControlPanel -> Region -> Administrative -> Change System Locale 下取消如下截圖的選項,重啟服務(wù)器后,問題解決
解決方案:1、啟動 SQL Server 服務(wù)啟跟蹤標(biāo)志902
一般使用命令:
Net Start MSSQL$InstanceName /T902
如果是默認(rèn)實例 Net Start MSSQLSERVER /T902
C:\Windows\system32>net start MSSQLSERVER /T902
The SQL Server (MSSQLSERVER) service is starting.The SQL Server (MSSQLSERVER) service was started successfully
2、通過SSMS登錄數(shù)據(jù)庫,找到msdb110_upgrade.sql所在的路徑(一般位于安裝目錄 \Program Files\Microsoft SQL Server\MSSQL13.MSSQL$InstanceName \MSSQL\Install下,例如這臺服務(wù)器位于C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Install目錄下),然后通過SSMS打開 msdb110_upgrade.sql,手動執(zhí)行里面的腳本。執(zhí)行的時候可能會報下面的錯誤: “消息 2775,級別 17,狀態(tài) 12,第 65143 行 服務(wù)器不支持代碼頁 65001。”
3、打開“控制面板”--“區(qū)域”--“管理”--“更改系統(tǒng)區(qū)域設(shè)置”,取消“Beta版”前面的勾,然后 重啟數(shù)據(jù)庫服務(wù)。
其他原因解決: 刪除sqlserver復(fù)制功能或者R服務(wù)
Script level upgrade for database 'master' failed because upgrade step 'msdb110_upgrade.sql' encountered error 226
Invalid object name 'MSreplication_subscriptions
Error executing sp_vupgrade_replication.
2025-04-05 15:22:12.28 spid8s Saving upgrade script status to 'SOFTWARE\Microsoft\MSSQLServer\Replication\Setup'.
2025-04-05 15:22:12.28 spid8s Saved upgrade script status successfully.
2025-04-05 15:22:12.28 spid8s Database 'master' is upgrading script 'upgrade_ucp_cmdw_discovery.sql' from level 218105409 to level 218110108.
2025-04-05 15:22:12.52 spid8s Database 'master' is upgrading script 'msdb110_upgrade.sql' from level 218105409 to level 218110108.
2025-04-05 15:22:12.52 spid8s ----------------------------------
2025-04-05 15:22:12.52 spid8s Starting execution of PRE_MSDB.SQL
2025-04-05 15:22:12.52 spid8s ----------------------------------
2025-04-05 15:22:12.64 spid8s Error: 15002, Severity: 16, State: 1.
2025-04-05 15:22:12.64 spid8s The procedure 'sys.sp_dbcmptlevel' cannot be executed within a transaction.
2025-04-05 15:22:12.64 spid8s -----------------------------------------
2025-04-05 15:22:12.64 spid8s Starting execution of PRE_SQLAGENT100.SQL
廣告: