ディスクまたはテープへのデータベース バックアップ、またはディスクまたはテープからのデータベースの復元を実行する場合のエラー 3266 または 3013

この記事では、ディスクまたはテープへのデータベース バックアップを実行するとき、またはディスクまたはテープからデータベースを復元するときに発生するエラー 3266 または 3013 を解決するのに役立ちます。

適用対象: Windows Server 2012 R2
元の KB 番号: 290787

現象

ディスクまたはテープへのデータベース バックアップ、またはディスクまたはテープからの復元を実行すると、次のエラー メッセージが表示されることがあります。

SQL Server 7.0 Server:

メッセージ 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
BACKUP DATABASE が異常終了しています。

SQL Server 2005 サーバー:

Msg 3013、レベル 16、状態 1、行 1
'devicename' の末尾にあるバックアップ データの形式が正しくありません。 メディア上のバックアップ セットが破損し、使用できない可能性があります。 メディア上のバックアップ セットを特定するには、RESTORE HEADERONLY を使用します。 バックアップ セットの使いやすさを確認するには、RESTORE VERIFYONLY を実行します。 すべてのバックアップ セットが不完全な場合は、BACKUP WITH FORMAT を使用してメディアを再フォーマットします。これにより、すべてのバックアップ セットが破棄されます。
サーバー: メッセージ 3013、レベル 16、状態 1、行 1

BACKUP DATABASE が異常終了しています。

原因

バックアップ デバイスのファイル マークを読み取れませんでした。 filemark エラーが発生する理由は多数あります。 その理由には、次のようなものがあります。

  • バックアップが配置されているデバイスでメディア エラーが発生する可能性があります。

  • バックアップの作成時に書き込みエラーが発生する可能性があります。

    たとえば、ネットワーク バックアップ中に接続が失われる可能性があります。 または、ディスクへの書き込みが正常に SQL Server に報告された後に、ディスクへの書き込みをフラッシュする IO パスのエラーが発生する可能性があります。

回避策

SQL Serverがバックアップ デバイスに対して新しいバックアップを実行できるようにするには、次のコマンドを使用して、デバイスを手動で削除または消去する必要があります。

BACKUP DATABASE mydatabase TO DISK='C:\MyDatabase.bak' with FORMAT

復元操作中にエラー メッセージが発生した場合は、ファイル番号を指定して、デバイスから他のバックアップ セットを取得できる可能性があります。 たとえば、3 つのバックアップが 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 Tape Format に格納します。 Microsoft Tape Format では、ファイル マークを使用して、バックアップに関するその他の情報に加えて、ブロック サイズやバックアップ内のブロック数などの情報を保持します。 Microsoft Tape Format では、ファイル マークを使用してバックアップ デバイス内のバックアップを区切ることもできます。 ファイルマークが見つからないか破損しているという事実は、デバイス上の少なくとも1つのバックアップが有効ではないことを示唆しています。

  • 破損したデバイスから一部のバックアップ セットを復元できる場合がありますが、復元されたデータベースの整合性を確認する必要があります。

  • SQL Serverは、バックアップ操作中または復元操作中の成功または失敗の詳細を、SQL Serverエラー ログと msdb システム データベースのバックアップ履歴テーブルに記録します。

  • トランザクション ログまたはデータベース バックアップを復元するときにエラー 3266 が発生した場合は、詳細については、次のログを調査してください。

    • エラー ログのSQL Server
    • バックアップと復元の履歴テーブル
    • アプリケーション イベント ログ
    • システム イベント ログ

これらのログにエラーの詳細がない場合は、報告されていないエラーが発生している可能性があります。 ヘルプが必要な場合は、Microsoft 製品サポート サービスにお問い合わせください。