web-dev-qa-db-ja.com

エラー3203 SQL Serverバックアップの復元:データが無効です

.bakファイルを復元しようとしています(SQL Server 2008 R2で作成されたバックアップ、互換性レベル100)。 SQL Server 2012エディションのバックアップを復元しています。以下のエラーが発生します。残念ながら、DBがバックアップされた元のDBは使用できなくなりました。私はこのプロジェクトに新しいです。私は、親指ドライブでbakファイルを与えられました。

DBを2012年に復元する方法に関する提案はありますか?

データベース 'TstDB'の復元に失敗しました。
System.Data.SqlClient.SqlError:*** 13で読み取り(データは無効です。)

これがエラーメッセージです。 RESTORE VERIFYONLYを実行すると、次のエラーが発生します。

メッセージ3203、レベル16、状態1、行2
「C:****」の読み取りに失敗しました:13(データが無効です。)
メッセージ3013、レベル16、状態1、行2
VERIFY DATABASEが異常終了しています。

RESTORE HEADERONLYは成功しました。 stats = 1でデータベースの復元を実行すると、以下が表示されます。

10%処理されました。
20%処理されました。
[...]
70%が処理されました。
80%処理されました。
メッセージ3203、レベル16、状態1、行2
「C:\ ccc.bak」の読み取りに失敗しました:13(データが無効です。)
メッセージ3013、レベル16、状態1、行2
RESTORE DATABASEが異常終了しています。

5
user63619

元々コメントとして残されたドキュメントの投稿に追加されたコミュニティWiki回答

[〜#〜] kassqldba [〜#〜] から:

投稿されたエラーによると、ファイルが破損している可能性があります。それが役立つかどうかを確認するには、以下をお読みください。

破損したSQLバックアップファイルを修復するための手頃なソリューション (TechNet Galleryサードパーティツール)

から Kin

バックアップを別のドライブにコピーできますかC:\を復元してみますか?それが失敗した場合、それは間違いなく破損していて、あなたは運が悪いです。


Microsoft TechNetの SQL Serverトラブルシューティング:SQLデータベースの破損を検出して迅速に修正する方法 も参照してください。

1
Paul White 9

RESTORE FILELISTONLYまたはRESTORE HEADERONLYを実行してみてください。これらが正常に実行された場合、SQL Serverが.bakファイルに正常にアクセスしていることが証明されます。 (そして、ある種の許可の問題を除外します。)

それが成功した場合、RESTORE VERIFYONLYRESTORE DATABASESTATS=1で実行してみてください。毎回同じ場所で失敗し続ける場合は、バックアップが破損していて、運が悪いことを示している可能性があります。

毎回別の場所で失敗する場合は、.bakが保存されている場所の信頼性に問題がある可能性があります。

1
AMtwo