web-dev-qa-db-ja.com

SQL Server 2014 .bakファイルエラー-デバイス「D:\ ..」のメディアファミリーの形式が正しくありません

最悪のシナリオ-サーバーがクラッシュし、2014 SQL Server .bakファイルは障害が発生したディスクから回復する必要がありました。 .bakファイルのサイズが20 GBを超えていますが、そこから復元しようとしても使用できません。新しいサーバーを構築し、それは古いサーバーと同じようにSQL Server 2014開発者を実行しています(新しいサーバーはすべてのデータベースをクラウド、ローカルドライブ、仮想ドライブ、ネットワークドライブにバックアップします。また、cronにスクリプトがありますすべてのバックアップメディアファイルを毎日毎日確認するジョブ)。

一部のデータを復元できましたが、お客様から提供できない特定の日付範囲を要求されています。

私はこれについてたくさん読んでいて、すべてがSQL Serverバージョン関連の問題であることを示していますが、それは.bakファイルが復元されました(ASCII vsバイナリファイル形式?)。

データがあるか、ファイルが20 GBを超えないことがわかっています。SQLで有効なバックアップメディアとして認識させるだけです。

どんな提案も大歓迎です!

RESTORE HEADERONLY 
FROM DISK = 'D:\!Recovered Drives From Old Server\ONTMaster Recovery File\ONTMaster.bak'
GO

RESTORE VERIFYONLY 
FROM DISK = 'D:\!Recovered Drives From Old Server\ONTMaster Recovery File\ONTMaster.bak'
GO

これが私が受け取るエラーです:

メッセージ3241、レベル16、状態0、行1
デバイス「D:!Recovered Drives From Old Server\ONTMaster Recovery File\ONTMaster.bak」のメディアファミリーの形式が正しくありません。 SQL Serverはこのメディアファミリを処理できません。
メッセージ3013、レベル16、状態1、行1
RESTORE HEADERONLYが異常終了しています。
メッセージ3241、レベル16、状態0、行5
デバイス「D:!Recovered Drives From Old Server\ONTMaster Recovery File\ONTMaster.bak」のメディアファミリーの形式が正しくありません。 SQL Serverはこのメディアファミリを処理できません。
メッセージ3013、レベル16、状態1、行5
VERIFY DATABASEが異常終了しています。

2
Mark6109

このエラーにはいくつかの原因が考えられます。

  1. バイナリモードで転送されていないため、バックアップが破損しています。FTPを使用してバックアップを転送している場合は、ファイルがバイナリモードで転送されていることを確認してください。
  2. バックアップのバージョンが、復元先のSQL Serverインスタンスと異なります。適切なバージョンのSQLサーバーインスタンスに復元して、SSISでデータを転送することができます
  3. バックアップが破損しています。この場合、オプションは限られています
1
Alex