.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が異常終了しています。
元々コメントとして残されたドキュメントの投稿に追加されたコミュニティWiki回答
投稿されたエラーによると、ファイルが破損している可能性があります。それが役立つかどうかを確認するには、以下をお読みください。
破損したSQLバックアップファイルを修復するための手頃なソリューション (TechNet Galleryサードパーティツール)
から Kin :
バックアップを別のドライブにコピーできますか
C:\
を復元してみますか?それが失敗した場合、それは間違いなく破損していて、あなたは運が悪いです。
Microsoft TechNetの SQL Serverトラブルシューティング:SQLデータベースの破損を検出して迅速に修正する方法 も参照してください。
RESTORE FILELISTONLY
またはRESTORE HEADERONLY
を実行してみてください。これらが正常に実行された場合、SQL Serverが.bakファイルに正常にアクセスしていることが証明されます。 (そして、ある種の許可の問題を除外します。)
それが成功した場合、RESTORE VERIFYONLY
とRESTORE DATABASE
をSTATS=1
で実行してみてください。毎回同じ場所で失敗し続ける場合は、バックアップが破損していて、運が悪いことを示している可能性があります。
毎回別の場所で失敗する場合は、.bakが保存されている場所の信頼性に問題がある可能性があります。