SQL Server の別のビルドには、システム データベースのバックアップを復元できません。

文書翻訳 文書翻訳
文書番号: 264474
すべて展開する | すべて折りたたむ

現象

システム データベースである (のバックアップを復元することはできません。マスター, モデル、または msdb) 別のビルドからビルド サーバー上で、最初のバックアップが実行されました。このような復元を実行しように発生する、次のエラー メッセージが発生します。
サーバー: メッセージ 3168、レベル 16、状態 1、行 1
サーバー (134217904) このサーバー (134217920) 以外の別のバージョンで作成されたためにデバイス d:\temp\master.bak 上のシステム データベースのバックアップを復元できません。
サーバー: メッセージ 3013, レベル 16、状態 1、行 1
RESTORE DATABASE が異常終了しています。

原因

システム データベースに対するデータベーススキーマをサーバー ビルド間で変更することができます。このスキーマの変更、不整合に起こりませんするには、RESTORE コマンドを実行する、最初のチェックのいずれかのバックアップ ファイルのサーバー ビルド番号とユーザーの復元を実行しよう、サーバー ビルド番号比較です。2 つのビルドが異なる場合は、エラー メッセージが表示され、復元操作は異常終了します。

メモ Service pack または修正プログラムをインストールするサーバーのビルド番号は変更を構築し、サーバ ・ ビルドが常に増分されます。

いくつかのシナリオでこの問題が発生する可能性がありますは次のとおりです。
  • ユーザーがサーバー A 上のシステム データベース B. サーバー A と B を別のサーバー ビルド サーバー上で作成されたバックアップから復元しようとしました。たとえば、サーバー A の RTM ビルド可能性があります、サーバー B に service pack 1 (SP1) ビルド可能性があります。
  • ユーザーは、同じサーバー上に作成されたバックアップからシステム データベースを復元しようとします。ただし、バックアップの実行時、サーバー別のビルドを実行されていた。つまり、バックアップが実行された後、サーバーがアップグレードされました。

回避策

このような状況での復元プロセスは非常に関連して、最後の手段としてのみ使用されます。

この問題を回避するには、まず、現在のビルド サーバーと SQL Server を確認するには、バックアップが実行されたを構築します。

Microsoft SQL Server 2000年および 2005 の Microsoft SQL Server は、現在の SQL Server の構築を決定する、次の 2 つの方法を説明します。
  • 方法 1
    SELECT @@version
    このコードは、テキストと同様に返します。
    Microsoft SQL Server  2000 - 8.00.192 (Intel X86)
    Jul 31 2000 15:47:46
    Copyright (c) 1988-2000 Microsoft Corporation 
    Enterprise Edition on Windows NT 5.0 (Build 2195: )
    (1 row(s) affected)
  • 方法 2
    SELECT SERVERPROPERTY('ProductVersion')
    このコードは、テキストと同様に返します。
    8.00.192
    (1 row(s) affected)
この記事の目的は、このビルド番号は"SQL Server"では [ビルドこの資料の残りの部分として参照されています。

ビルドを確認することができますが、バックアップ ファイルには、次のコマンドを使用して、バックアップが発生しました。
RESTORE HEADERONLY
FROM DISK = 'd:\temp\master176.bak'
生成された出力では、サーバー ビルドの情報は、次の 3 つの列を説明します。
SoftwareVersionMajor SoftwareVersionMinor SoftwareVersionBuild
-------------------- -------------------- --------------------
8                    0                    176

The actual output has several other columns; however, only the columns that are of interest are included in this article for clarity.
この記事の目的は、このビルド番号は、「バックアップ構築」をこの資料の残りの部分として参照されています。

「のバックアップを作成する」8.00.176 のですがこの例では、「SQL Server 構築」8.00.192、です。2 つのビルドが異なるため、復元操作は許可されていません、3168 のエラー メッセージが表示されます。

この問題を回避するには、リストア ・ プロセスは、システムのデータベース ユーザーによって復元しようによって異なります。予防措置として、いずれかの次の手順に進むのすべての既存データベース (システム データベースとユーザー データベース) する前に、バックアップを作成することをお勧めします。

復元操作になっている場合、 マスター データベースを正常にリストアを試行するのには、次の手順を使用できます。
  1. 使用して、システム上に存在するすべてのユーザー データベースをデタッチ、 sp_detach_db ストアド プロシージャです。ユーザー データベースをデタッチする方法の詳細については、SQL Server 2000 Books online の「データベースのアタッチとデタッチ」トピックを参照してください。SQL Server 2005 を使用している場合を参照してください、「Detaching とは、データベースをアタッチ」SQL Server 2005 Books online のトピック。クロス チェックとしては、次のクエリがすべてのユーザー データベースの一覧を返します。
    SELECT name FROM SYSDATABASES
    WHERE dbid > 4
  2. バックアップ、 msdbモデル 次のコマンドを使用して、システム上のデータベース。
    BACKUP DATABASE MSDB TO DISK = '<backup device>' WITH NOINIT, NOSKIP
    BACKUP DATABASE MODEL TO DISK = '<backup device>' WITH NOINIT, NOSKIP
  3. 「のバックアップを作成する」が、「SQL Server ビルドよりも」が大きい場合は、すべての必要なサービス パックをインストールまたは修正プログラムを作成して、「バックアップ構築する」転送サーバ ・ ソフトウェアを展開すると判断しましたこれまで。その後に進みます。
  4. SQL Server 2000年または SQL Server 2005 を削除します。SQL Server 2000年のアンインストールの詳細については、SQL Server 2000 Books Online の「SQL Server 2000年を削除する方法」トピックを参照してください。
  5. SQL Server 2000年を再インストールするか、「バックアップ構築する」転送サーバ ・ ソフトウェアを展開する SQL Server 2005 およびすべての必要な service pack または修正プログラムのビルドは判断しましたこれまで。
  6. サーバーをシングル ユーザー モードで起動し、復元、 マスター このビルドでバックアップ ファイルを使用してデータベースです。復元方法の詳細については、 マスター データベースは、「マスター データベースを現在のバックアップから」SQL Server 2000 Books Online のトピックを参照してください。SQL Server 2005 を使用している場合は、「master データベースを復元する」の「SQL Server 2005 Books online を参照してください。
  7. 正常に復元した後、 マスター データベースをする必要がありますシャット ダウンして、SQL Server サービスを再起動します。
  8. 「のバックアップを作成する」が、「SQL Server ビルドよりも」が大きい場合は、手順 10 に参照してください。
  9. あるサービス パックや修正プログラムのビルドを「SQL Server の構築」に転送サーバ ・ ソフトウェアを展開するため必要を再適用します。
  10. 復元、 msdbモデル 手順 2 で作成したバックアップからデータベースを指定します。SQL Server 2005 を使用している場合は、SQL Server 2005 Books Online の「モデルおよび msdb データベースを復元する」トピックを参照してください。
  11. 使用して、すべてのユーザー データベースを再アタッチ、 sp_attach_db ストアド プロシージャです。データベースを再アタッチする方法の詳細については、SQL Server 2000 Books online の「データベースのアタッチとデタッチ」トピックを参照してください。
加えられた変更は、 マスター データベースのバックアップの後、 マスター 実行されているが失われ、手動で再適用する必要があります。
復元操作をしようとすると、 モデル または、 msdb データベースには、この問題を回避するには、次の手順を使用できます。この手順と例を示すために、ここのものは、これらのデータベースは、元のサーバーと参照します。 msdb、サーバー A に復元するにはここでは 3168 のエラー メッセージを回避するのには、別のサーバー B に SQL Server をインストールする必要があります。有効なバックアップの古いビルドからのみがあることをもちろん、想定しています、 msdb サーバー A
  1. SQL Server 2000年サーバー B (サーバー A と同じ照合順序設定) で、サービス パック、またはサーバ ・ ソフトウェアに「のバックアップを作成する」ために必要な修正プログラムのビルドをインストールします。
  2. SQL Server 2000年がインストールされていると、SQL Server サービスを開始し、復元する、 msdb データベース バックアップ ファイルから。サーバーを構築する場合は、復元を動作させると、ビルドでバックアップが実行されたのと同じです。
  3. 「のバックアップを作成する」、「現在ビルドよりも"と、手順 5 に進みます。
  4. 任意の service pack または修正プログラムを適用することによりアップグレード SQL Server 2000年サーバー B では正常に復元後、「現在ビルド」以降、サーバ ・ ソフトウェアを展開するために必要なを作成します。
  5. アップグレードの完了後は、バックアップ、 msdb データベースです。このサーバーは、バックアップから復元することができたので考慮すれば、ビルド サーバーのバックアップを実行したし、「現在ビルド」は同じです。
上記の動作は、 モデル データベースもします。もう一度バックアップを実行した後にこれらのデータベースに加えられた変更は失われ、手動で再適用する必要があります。

詳細

現在、効果的なバックアップ戦略を持つことをお勧めします。適切なバックアップ戦略が重要である理由この制限はまだ別の例です。観点では、この制限は、service pack または修正プログラムのビルドをインストールすると、サーバーをアップグレードするとシステム データベースのバックアップを実行する必要があります。

プロパティ

文書番号: 264474 - 最終更新日: 2011年7月24日 - リビジョン: 10.0
キーワード:?
kbprb kbbackup kbmt KB264474 KbMtja
機械翻訳の免責
重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。
英語版 KB:264474
Microsoft Knowledge Base の免責: Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com