共用方式為


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 服務器:

  1. 使用下列查詢來判斷伺服器 B 版本 (第 B 版) 的版本:

    SELECT @@VERSION

  2. 執行類似下列的查詢,以判斷在取得來源備份時正在執行的 SQL Server 版本(版本 A):

    RESTORE headeronly FROM disk = 'c:\sqlbackups\masterdb.bak'

  3. 檢閱 、 SoftwareVersionMinor 和資料 SoftwareVersionBuild 行的值 SoftwareVersionMajor ,以判斷建立備份時所使用的來源伺服器組建。 例如,假設值如下所示:

    • SoftwareVersionMajor:15
    • SoftwareVersionMinor:0
    • SoftwareVersionBuild:4236 在此案例中,建立備份時的來源 SQL Server 版本是 15.0.4236。
  4. 使用 SQL Server 完整版本清單資料表 Excel 組建試算表 來判斷組建所對應的 SQL Server 版本。 例如,15.0.4236 對應至 SQL Server 2019 CU16+GDR(版本 A)。

  5. 使用下列其中一個選項:

    • 如果版本 A 大於版本 B,請使用 SQL Server 最新更新和版本歷程記錄中 的資訊,將伺服器 B 升級至與版本 A 相同的組建。

    • 如果版本 A 小於第 B 版,請使用下列步驟暫時移除更新:

      1. [控制台 ] 中,選取 [ 程式 > 及功能 ],然後選取 [ 檢視已安裝的更新 ]。

      2. 找出對應至每個對應至版本 B 之更新套件的對應專案。

      3. 按住 (或以滑鼠右鍵按一下) 專案,然後選取 [ 卸載 ]。

    • 確認版本 B 與版本 A 相同之後,請重試伺服器 B 上 master 資料庫的還原作業。

  6. (建議)將伺服器 B 更新為最新的可用版本,然後進行系統資料庫的新備份。

另請參閱

還原系統資料庫的限制 (SQL Server)

還原 master 資料庫 (Transact-SQL)

重建 master 資料庫最簡單的方式