MSSQLSERVER_3168
適用対象:SQL Server
詳細
属性 | 値 |
---|---|
製品名 | SQL Server |
イベント ID | 3168 |
イベント ソース | MSSQLSERVER |
コンポーネント | SQLEngine |
シンボル名 | LDDB_SYSTEMWRONGVER |
メッセージ テキスト | デバイス %ls のシステム データベースのバックアップは復元できません。このバックアップを作成したサーバーのバージョン (%ls) とこのサーバーのバージョン (%ls) が異なります。 |
説明
バックアップが最初に作成されたビルドとは異なるサーバー ビルド上のシステム データベース (master、 model、 または msdb) のバックアップを復元することはできません。
注意
累積的な更新プログラムやサービス パック、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 のマスター データベースの復元操作を再試行します。
(推奨)サーバー B を利用可能な最新バージョンに更新し、システム データベースの新しいバックアップを作成します。
関連項目
システム データベースの復元に関する制限事項 (SQL Server)
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示