この記事では、ディスクまたはテープへのデータベース バックアップを実行するとき、またはディスクまたはテープからデータベースを復元するときに発生するエラー 3266 または 3013 を解決するのに役立ちます。
元の KB 番号: 290787
症状
ディスクまたはテープへのデータベース バックアップ、またはディスクまたはテープからの復元を実行すると、次のエラー メッセージが表示されることがあります。
SQL Server 7.0 サーバー:
メッセージ 3266、レベル 16、状態 1、行 1
バックアップ デバイス 'devicename' 上の Microsoft Tape Format (MTF) ソフト ファイルマーク データベースを読み取ることができないので、ランダム アクセスが禁止されます。
サーバー: メッセージ 3013、レベル 16、状態 1、行 1
バックアップまたは復元操作が異常終了する。
SQL Server 2000 Server:
メッセージ 3266、レベル 16、状態 1、行 1
'devicename' のバックアップ データの形式が正しくありません。 バックアップを追加することはできませんが、既存のバックアップ セットを引き続き使用できる場合があります。
サーバー: メッセージ 3013、レベル 16、状態 1、行 1
バックアップ データベースが異常終了しています。
SQL Server 2005 Server:
メッセージ 3013、レベル 16、状態 1、行 1
'devicename' の末尾にあるバックアップ データの形式が正しくありません。 メディアのバックアップ セットが破損していて使用できない可能性があります。 メディアのバックアップ セットを確認するには、RESTORE HEADERONLY を使用します。 バックアップ セットが使えるかどうかを確認するには、RESTORE VERIFYONLY を実行します。 すべてのバックアップ セットが不完全な場合は、BACKUP WITH FORMAT を使用してメディアを再フォーマットしてください。この操作では、すべてのバックアップ セットが破棄されます。
サーバー: メッセージ 3013、レベル 16、状態 1、行 1バックアップ データベースが異常終了しています。
原因
バックアップ デバイスのファイル マークを読み取れませんでした。 filemark エラーが発生する理由は多数あります。 その理由には、次のようなものがあります。
バックアップが配置されているデバイスでメディア エラーが発生する可能性があります。
バックアップの作成時に書き込みエラーが発生する可能性があります。
たとえば、ネットワーク バックアップ中に接続が失われる可能性があります。 または、ディスクへの書き込みが成功として SQL Server に報告された後に、ディスクへの書き込みをフラッシュする IO パスのエラーが発生する可能性があります。
回避策
SQL Server でバックアップ デバイスへの新しいバックアップを実行できるようにするには、次のコマンドを使用して、デバイスを手動で削除または消去する必要があります。
BACKUP DATABASE mydatabase TO DISK='C:\MyDatabase.bak' with FORMAT
復元操作中にエラー メッセージが発生した場合は、ファイル番号を指定して、デバイスから他のバックアップ セットを取得できる可能性があります。 たとえば、3 つのバックアップが 1 つの (1) バックアップ デバイス上にあった場合、バックアップ セット 1 とバックアップ セット 2 が使用できる可能性があります。 デバイス上に複数のバックアップ セットがあるかどうかを確認するには、Query Analyzer から次のコードを実行します。
RESTORE HEADERONLY FROM DISK='C:\MyDatabase.bak'
各バックアップ セットには、出力に 1 つのエントリがあります。 特定のバックアップ セットを示すには、次のコードを使用します。
RESTORE DATABASE mydatabase FROM DISK='C:\MyDatabase.bak' WITH FILE = FileNumber
注意
FileNumber は、復元するバックアップ セット番号です。
詳細
次の一覧には、バックアップと SQL Server に関する重要な注意事項が含まれています。
SQL Server がデバイスでファイル マーク エラーを検出した後、SQL Server はデバイスに追加情報を書き込むことはありません。
SQL Server では、バックアップがディスクまたはテープに対して行われるかどうかに関係なく、すべてのバックアップが Microsoft テープ形式で格納されます。 Microsoft Tape Format では、ファイル マークを使用して、バックアップに関するその他の情報に加えて、ブロック サイズやバックアップ内のブロック数などの情報を保持します。 また、Microsoft Tape Format では、ファイル マークを使用してバックアップ デバイス内のバックアップを区切ります。 ファイルマークが見つからないか、破損しているという事実は、デバイス上の少なくとも1つのバックアップが有効ではないことを示唆しています。
破損したデバイスから一部のバックアップ セットを復元できる場合がありますが、復元されたデータベースの整合性を確認する必要があります。
SQL Server は、バックアップ操作または復元操作中の成功または失敗の詳細を SQL Server エラー ログと msdb システム データベースのバックアップ履歴テーブルに記録します。
トランザクション ログまたはデータベース バックアップを復元するときにエラー 3266 が発生した場合は、次のログを調べ、詳細を確認してください。
- SQL Server エラー ログ
- バックアップおよび復元履歴テーブル
- アプリケーション イベント ログ
- システム イベント ログ
これらのログにエラーの詳細がない場合は、報告されていないエラーが発生している可能性があります。 サポートが必要な場合は、Microsoft 製品サポート サービスにお問い合わせください。