現象
Microsoft SQL Server 2008 R2 または Microsoft SQL Server 2012 がインストールされているコンピューターに、次のいずれかの更新プログラムがインストールされていることを前提としています。
-
SQL Server 2008 R2 Service Pack 1 (SP1) 以降のバージョンの累積的な更新プログラム 6
-
SQL Server 2008 R2 Service Pack 2 (SP2) 以降のバージョンの累積的な更新プログラム 1
このような場合は、RESTORE FILELISTONLY ステートメントを実行して、SQL Server 2008 R2 でデータベースを復元します。 ただし、復元操作は失敗します。 さらに、以下のエラー メッセージが表示されます。
メッセージ 3241、レベル 16、状態 1、行 1デバイス '<BackupFilePath>' のメディア ファミリが正しく形成されていません。 SQL Serverは、このメディア ファミリを処理できません。メッセージ 3013、レベル 16、状態 1、行 1RESTORE FILELIST が異常終了しています。
注 以前のビルドの SQL Server 2008 R2 で DBCC CHECKDB ステートメントを実行すると、バックアップ メディアの問題を示す整合性エラーが発生しません。 そのため、これらの以前のバージョンでバックアップを復元できます。
原因
この問題は、SQL Server 2008 R2 SP1 用の累積的な更新プログラム 5 と SQL 2008 R2 SP2 用の累積的な更新プログラム 1 が、データベースの復元時にデータベースの完全性検証を実行するためです。 ただし、RESTORE FILELISTONLY ステートメントでは、この検証は必要ありません。 この検証は、KB 2685132で説明されている修正プログラムに含まれていました。 データベースの完全性の検証の詳細については、次の記事番号 2685132をクリックして、Microsoft サポート技術情報の2685132記事を表示します。
2685132 修正: ログ配布復元ジョブは、SQL Server 2008 R2 のインスタンスまたは SQL Server 2012 のインスタンスでログ配布バックアップ ジョブを実行すると、破損したトランザクション ログ バックアップをセカンダリ データベースに復元します
解決方法
累積的な更新プログラムの情報
SQL Server 2012 の累積的な更新プログラム 9
この問題の修正プログラムは、累積的な更新プログラム 9 で最初にリリースされました。 SQL Server 2012 のこの累積的な更新プログラム パッケージを取得する方法の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を表示してください。
2867319 SQL Server 2012 の累積的な更新プログラム パッケージ 9 注 ビルドは累積的であるため、新しい修正プログラムの各リリースには、以前のSQL Server 2012 修正プログラム リリースに含まれていたすべての修正プログラムとすべてのセキュリティ修正プログラムが含まれています。 この修正プログラムを含む最新の修正プログラム リリースを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。
2692828 SQL Server 2012 がリリースされた後にリリースされた SQL Server 2012 ビルド
SQL Server 2012 Service Pack 1 の累積的な更新プログラム 5
この問題の修正プログラムは、累積的な更新プログラム 5 で最初にリリースされました。 SQL Server 2012 Service Pack 1 のこの累積的な更新プログラム パッケージを入手する方法の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。
2861107 SQL Server 2012 Service Pack 1Note 用の累積的な更新プログラム パッケージ 5 ビルドは累積的であるため、各新しい修正プログラム リリースには、以前の SQL Server 2012 Service Pack 1 の修正プログラム リリースに含まれていたすべての修正プログラムとすべてのセキュリティ修正プログラムが含まれています。 この修正プログラムを含む最新の修正プログラム リリースを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。
2772858 SQL Server 2012 Service Pack 1 のリリース後にリリースされた SQL Server 2012 ビルド
SQL Server 2008 R2 SP1 の累積的な更新プログラム 13
この問題の修正プログラムは、累積的な更新プログラム 13 で最初にリリースされました。 SQL Server 2008 R2 SP1 のこの累積的な更新プログラム パッケージを取得する方法の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を表示します。
2855792 SQL Server 2008 R2 SP1Note 用の累積的な更新プログラム パッケージ 13 ビルドは累積的であるため、各新しい修正プログラム リリースには、以前の SQL Server 2008 R2 SP1 修正プログラム リリースに含まれていたすべての修正プログラムとすべてのセキュリティ修正プログラムが含まれています。 この修正プログラムを含む最新の修正プログラム リリースを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。
2567616 SQL Server 2008 R2 Service Pack 1 のリリース後にリリースされた SQL Server 2008 R2 ビルド
SQL Server 2008 R2 SP2 の累積的な更新プログラム 7
この問題の修正プログラムは、累積的な更新プログラム 7 で最初にリリースされました。 SQL Server 2008 R2 SP2 のこの累積的な更新プログラム パッケージを取得する方法の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を表示します。
2844090 SQL Server 2008 R2 SP2Note 用の累積的な更新プログラム パッケージ 7 ビルドは累積的であるため、各新しい修正プログラム リリースには、以前の SQL Server 2008 R2 SP2 修正プログラム リリースに含まれていたすべての修正プログラムとすべてのセキュリティ修正プログラムが含まれています。 この修正プログラムを含む最新の修正プログラム リリースを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。
2730301 SQL Server 2008 R2 Service Pack 2 のリリース後にリリースされた SQL Server 2008 R2 ビルド
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。
回避策
この問題を回避するには、RESTORE FILELISTONLY ステートメントを CONTINUE_AFTER_ERROR オプションと共に実行します。