バックアップ情報の表示

msdb データベースには、サーバー インスタンスで行われた SQL Server のすべてのバックアップ操作および復元操作の完全な履歴が格納されます。このトピックでは、バックアップと復元の履歴テーブルに加え、バックアップ履歴へのアクセスに使用する Transact-SQL ステートメントについても説明します。

また、次の操作方法についても説明します。

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

  • メディア ヘッダー情報の表示

  • バックアップ ヘッダー情報の表示

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

重要な注意事項重要

最新の更新情報の損失リスクを管理するには、頻繁に msdb をバックアップすることが重要です。バックアップする必要があるシステム データベースの詳細については、「システム データベースのバックアップと復元に関する注意点」を参照してください。

バックアップおよび復元の履歴テーブルの概要

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

履歴テーブル

説明

backupfile

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

backupfilegroup

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

backupmediafamily

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

backupmediaset

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

backupset

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

restorefile

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

restorefilegroup

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

restorehistory

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

注意

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

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

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

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

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

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

以前のバージョンの SQL Server では、RESTORE FILELISTONLY、RESTORE HEADERONLY、RESTORE LABELONLY、および RESTORE VERIFYONLY という Transact-SQL ステートメントを使用すると、すべてのユーザーがバックアップ セットやバックアップ デバイスに関する情報を入手できました。バックアップ ファイルの内容に関する情報が明らかになるため、SQL Server 2008 以降のバージョンでは、これらのステートメントを実行するのに 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 つ提供するだけで十分です。

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

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