バックアップの履歴とヘッダーの情報 (SQL Server)

msdb データベースには、サーバー インスタンスで行われた SQL Server のすべてのバックアップ操作および復元操作の完全な履歴が格納されます。 このトピックでは、バックアップと復元の履歴テーブルに加え、バックアップ履歴へのアクセスに使用する Transact-SQL ステートメントについても説明します。 また、データベース ファイルとトランザクション ログ ファイルの一覧表示が役立つ状況について説明し、メディア ヘッダー情報を使用する状況とバックアップ ヘッダー情報を使用する状況の比較についても説明します。

重要な注意事項重要

バックアップと復元の履歴に対する最新の変更情報の損失リスクを管理するために、頻繁に msdb をバックアップしてください。 バックアップする必要があるシステム データベースの詳細については、「システム データベースのバックアップと復元 (SQL Server)」を参照してください。

このトピックの内容

  • バックアップと復元の履歴テーブル

  • バックアップ履歴にアクセスするための Transact-SQL ステートメント

  • データベース ファイルとトランザクション ログ ファイル

  • メディア ヘッダー情報

  • バックアップ ヘッダー情報

  • メディア ヘッダーとバックアップ ヘッダーの情報の比較

  • バックアップの検証

  • 関連タスク

バックアップと復元の履歴テーブル

ここでは、msdb システム データベース内のバックアップ メタデータおよび復元メタデータが保存される履歴テーブルについて説明します。

履歴テーブル

説明

backupfile

バックアップされるデータ ファイルまたはログ ファイルごとに 1 行のデータを格納します。

backupfilegroup

バックアップ セットのファイル グループごとに 1 行のデータを格納します。

backupmediafamily

メディア ファミリごとに 1 行のデータを格納します。 メディア ファミリがミラー化メディア セットにある場合、そのメディア ファミリにはメディア セット内のミラーごとに 1 行のデータが格納されます。

backupmediaset

バックアップ メディア セットごとに 1 行のデータを格納します。

backupset

バックアップ セットごとに 1 行のデータを格納します。

restorefile

復元されたファイルごとに 1 行のデータを格納します。 これには、ファイル グループ名から間接的に復元されたファイルも含まれます。

restorefilegroup

復元されたファイル グループごとに 1 行のデータを格納します。

restorehistory

復元操作ごとに 1 行のデータを格納します。

注意

復元を実行すると、バックアップ履歴テーブルと復元履歴テーブルが変更されます。

[トップに戻る] リンクで使用される矢印アイコン[先頭に戻る]

バックアップ履歴にアクセスするための Transact-SQL ステートメント

復元情報ステートメントは、特定のバックアップ履歴テーブルに格納されている情報に対応しています。

セキュリティに関する注意セキュリティに関する注意

SQL Server 2008 以降では、RESTORE FILELISTONLY、RESTORE HEADERONLY、RESTORE LABELONLY、および RESTORE VERIFYONLY の各 Transact-SQL ステートメントを実行するために CREATE DATABASE 権限が必要です。 この要件により、以前のバージョンよりも、バックアップ ファイルの安全性が高くなり、バックアップ情報が十分保護されます。 この権限の詳細については、「GRANT (データベースの権限の許可) (Transact-SQL)」を参照してください。

情報ステートメント

バックアップ履歴テーブル

説明

RESTORE FILELISTONLY

backupfile

指定したバックアップ セットに含まれるデータベース ファイルとログ ファイルの一覧を含む結果セットを返します。

詳細については、このトピックの「データベース ファイルとトランザクション ログ ファイルの一覧表示」を参照してください。

RESTORE HEADERONLY

backupset

特定のバックアップ デバイス上のすべてのバックアップ セットについて、バックアップ ヘッダーに関するすべての情報を取得します。 RESTORE HEADERONLY を実行して得られる結果は、結果セットです。

詳細については、このトピックの「バックアップ ヘッダー情報の表示」を参照してください。

RESTORE LABELONLY

backupmediaset

指定したバックアップ デバイス上のバックアップ メディアに関する情報を含む結果セットを返します。

詳細については、このトピックの「メディア ヘッダー情報の表示」を参照してください。

列の名前付け規則

製品の歴史的な経緯により、2 つの異なる名前付け規則が存在しています。 従来の列には元の名前を格納できます。 ただし、SQL Server 2005 以降のバージョンで導入されている列は、次の表に示す名前付け規則に準拠します。

コンテキスト

説明

情報コマンドが返す列

WordWordWord

例 : DifferentialBaseLSN

msdb およびカタログ ビューの列

word_word_word

例: differential_base_lsn

[トップに戻る] リンクで使用される矢印アイコン[先頭に戻る]

データベース ファイルとトランザクション ログ ファイル

バックアップ内のデータベース ファイルおよびトランザクション ログ ファイルの一覧を表示すると、論理名、物理名、ファイルの種類 (データベースまたはログ)、ファイル グループのメンバーシップ、ファイルのサイズ (バイト単位)、ファイルの最大許容サイズ、および定義済みのファイル拡張サイズ (バイト単位) が表示されます。 この情報は、次のような場合に、データベース バックアップを復元する前にそのバックアップ内のファイルの名前を調べる際に役立ちます。

  • データベースの 1 つ以上のファイルが格納されているディスク ドライブに障害が発生した場合。

    データベース バックアップ内のファイルを一覧表示して、影響を受けたファイルを調べ、そのファイルはデータベース全体の復元時に別のドライブに復元することができます。影響を受けたファイルだけを復元して、データベースのバックアップ後に作成されたすべてのトランザクション ログのバックアップを適用することもできます。

  • ディレクトリ構造やネットワーク ドライブが割り当てられていない別のサーバーにデータベースを復元する場合。

    バックアップ内のファイルを一覧表示すると、影響を受けるファイルを調べることができます。 たとえば、ドライブ E に復元する必要があるファイルがバックアップに含まれているのに、コピー先のサーバーにドライブ E が存在しない場合です。 この場合、ファイルの復元時に別の場所 (ドライブ Z など) にファイルを配置し直す必要があります。

[トップに戻る] リンクで使用される矢印アイコン[先頭に戻る]

メディア ヘッダー情報

メディア ヘッダーを表示すると、メディア上のバックアップではなくメディアそのものに関する情報が表示されます。 メディア ヘッダー情報として、メディア名、説明、メディア ヘッダーを作成したソフトウェアの名前、およびメディア ヘッダーが書き込まれた日付が表示されます。

注意

メディア ヘッダーの表示にはごくわずかな時間しかかかりません。

詳細については、このトピックの後の方の「メディア ヘッダーとバックアップ ヘッダーの情報の比較」を参照してください。

[トップに戻る] リンクで使用される矢印アイコン[先頭に戻る]

バックアップ ヘッダー情報

バックアップ ヘッダーを表示すると、メディア上のすべての SQL Server バックアップ セットおよび SQL Server 以外のバックアップ セットに関する情報が表示されます。 表示される情報には、使用しているバックアップ デバイスの種類、バックアップの種類 (データベース、トランザクション、ファイル、差分データベースなど)、およびバックアップの開始と終了の日時が含まれています。 この情報は、テープ上のどのバックアップ セットを復元するかを判断したり、メディアに書き込まれているバックアップを調べる場合に役立ちます。

注意

メディア上の各バックアップに関する情報を表示するにはメディア全体をスキャンする必要があるため、大容量のテープの場合はバックアップ ヘッダー情報を表示するのに時間がかかることがあります。

詳細については、このトピックの後の方の「メディア ヘッダーとバックアップ ヘッダーの情報の比較」を参照してください。

復元するバックアップ セットの特定

バックアップ ヘッダーの情報を使用して、復元するバックアップ セットを識別できます。 バックアップ メディアの各バックアップ セットには、データベース エンジンによって番号が付けられます。 この番号を使用すると、復元するバックアップ セットをメディア内での位置によって識別できます。 たとえば、次のメディアには 3 つのバックアップ セットが含まれています。

SQL Server バックアップ セットを含むバックアップ メディア

特定のバックアップ セットを復元するには、復元対象のバックアップ セットの位置番号を指定します。 たとえば、2 番目のバックアップ セットを復元するには、復元するバックアップ セットとして「2」を指定します。

[トップに戻る] リンクで使用される矢印アイコン[先頭に戻る]

メディア ヘッダーとバックアップ ヘッダーの情報の比較

次の図で、バックアップ ヘッダー情報とメディア ヘッダー情報の表示の違いを例示します。 メディア ヘッダーを取得するには、テープの先頭にある情報のみを取得する必要があります。 バックアップ ヘッダーを取得するには、テープ全体をスキャンして各バックアップ セットのヘッダーを確認する必要があります。

3 つの SQL Server バックアップ セットを含むメディア セット

注意

複数のメディア ファミリを持ったメディア セットを使用すると、メディア ヘッダーおよびバックアップ セットがすべてのメディア ファミリに書き込まれます。 したがって、このような報告操作には、メディア ファミリを 1 つ提供するだけで十分です。

メディア ヘッダーの表示方法については、このトピックの「メディア ヘッダー情報の表示」を参照してください。

バックアップ デバイス上のすべてのバックアップ セットに関するバックアップ ヘッダー情報の表示方法については、このトピックの「バックアップ ヘッダー情報の表示」を参照してください。

[トップに戻る] リンクで使用される矢印アイコン[先頭に戻る]

バックアップの検証

必須ではありませんが、バックアップの確認は役に立つ作業です。 バックアップを確認することで、バックアップが物理的に損傷していないことが確認されます。これにより、バックアップのすべてのファイルの読み取りと復元が可能であること、必要なときにそのバックアップを復元できることが保証されます。 バックアップの確認では、バックアップのデータの構造は確認されないことに注意してください。 ただし、WITH CHECKSUMS を使用してバックアップが作成された場合、WITH CHECKSUMS を使用してバックアップを確認すると、バックアップのデータの信頼性がわかります。

[トップに戻る] リンクで使用される矢印アイコン[先頭に戻る]

関連タスク

バックアップ履歴テーブルと復元履歴テーブルから古い行を削除するには

バックアップ履歴テーブルと復元履歴テーブルから特定のデータベースのすべての行を削除するには

バックアップ セットに含まれているデータ ファイルおよびログ ファイルを表示するには

メディア ヘッダー情報を表示するには

バックアップ ヘッダー情報を表示するには

バックアップ履歴テーブルと復元履歴テーブルから古い行を削除するには

バックアップ履歴テーブルと復元履歴テーブルから特定のデータベースのすべての行を削除するには

メディア ヘッダー情報を表示するには

バックアップ ヘッダー情報を表示するには

バックアップ セットに含まれているファイルを表示するには

バックアップを検証するには

[トップに戻る] リンクで使用される矢印アイコン[先頭に戻る]

関連項目

参照

BACKUP (Transact-SQL)

概念

メディア セット、メディア ファミリ、およびバックアップ セット (SQL Server)

バックアップ デバイス (SQL Server)

ミラー化バックアップ メディア セット (SQL Server)

バックアップ中および復元中に発生する可能性があるメディア エラー (SQL Server)