MSSQLSERVER_3168
適用於:SQL Server
詳細資料
屬性 | 值 |
---|---|
產品名稱 | SQL Server |
事件識別碼 | 3168 |
事件來源 | MSSQLSERVER |
元件 | SQLEngine |
符號名稱 | LDDB_SYSTEMWRONGVER |
訊息文字 | 裝置 %ls 上的系統資料庫備份無法還原,因為它是由不同於這個伺服器版本 (%ls) 的版本 (%ls) 所建立。 |
說明
您無法在與最初建立備份的組建不同的伺服器組建上還原系統資料庫(master、 model 或 msdb)的備份。
注意
安裝服務更新,例如累積更新或 Service Pack 或 GDR 會變更伺服器組建編號。 伺服器組建一律為累加。
可能的原因
系統資料庫的資料庫架構可能會在伺服器組建之間變更。 為了確保架構變更不會造成不一致,RESTORE 語句會將備份檔的伺服器組建編號與您嘗試還原備份之伺服器的組建編號進行比較。 如果組建不同,語句會發出 「3168」 錯誤訊息,而還原作業會異常終止。
發生此問題的一些案例包括:
您嘗試從伺服器 B 上的備份還原伺服器 A 上的系統資料庫。伺服器 A 和 B 位於不同的伺服器組建中。 例如,伺服器 A 可能位於原始版本組建上,而伺服器 B 可能位於 Service Pack 1 (SP1) 組建上。
您嘗試從在同一部伺服器上進行的備份還原系統資料庫。 不過,當備份程序執行時,伺服器正在執行不同的組建。 也就是說,自從建立備份之後,伺服器已升級。
使用者動作
若要解決此問題,請執行下列步驟:
注意
針對下列程式,伺服器 A 是建立備份的來源 SQL Server 伺服器,而伺服器 B 是您嘗試還原備份的目標 SQL Server 伺服器:
使用下列查詢來判斷伺服器 B 版本 (第 B 版) 的版本:
SELECT @@VERSION;
執行類似下列的查詢,以判斷在取得來源備份時正在執行的 SQL Server 版本(版本 A):
RESTORE headeronly FROM disk = 'c:\sqlbackups\masterdb.bak'
檢閱、
SoftwareVersionMinor
和數據SoftwareVersionBuild
行的值SoftwareVersionMajor
,以判斷建立備份時所使用的來源伺服器組建。 例如,假設值如下所示:- SoftwareVersionMajor:15
- SoftwareVersionMinor:0
- SoftwareVersionBuild:4236 在此案例中,建立備份時的來源 SQL Server 版本是 15.0.4236。
使用 SQL Server 完整版本清單資料表或 Excel 組建電子表格來判斷組建所對應的 SQL Server 版本。 例如,15.0.4236 對應至 SQL Server 2019 CU16+GDR(版本 A)。
使用下列其中一個選項:
如果版本 A 大於版本 B,請使用 SQL Server 最新更新和版本歷程記錄中的資訊,將伺服器 B 升級至與版本 A 相同的組建。
如果版本 A 小於第 B 版,請使用下列步驟暫時移除更新:
在 控制台 中,選取 [程序>程式和功能],然後選取 [檢視已安裝的更新]。
找出對應至每個對應至版本 B 之更新套件的對應專案。
按住 (或以滑鼠右鍵按兩下) 項目,然後選取 [ 卸載]。
確認版本 B 與版本 A 相同之後,請重試伺服器 B 上 master 資料庫的還原作業。
(建議)將伺服器 B 更新為最新的可用版本,然後進行系統資料庫的新備份。