RESTORE HEADERONLY (Transact-SQL)

特定のバックアップ デバイス上にあるすべてのバックアップ セットについて、すべてのバックアップ ヘッダー情報を含む結果セットを返します。

注意

引数の説明については、「RESTORE の引数 (Transact-SQL)」を参照してください。

トピック リンク アイコン Transact-SQL 構文表記規則

構文

RESTORE HEADERONLY 
FROM <backup_device> 
[ WITH 
 {
--Backup Set Options
   FILE = { backup_set_file_number | @backup_set_file_number } 
 | PASSWORD = { password | @password_variable } 

--Media Set Options
 | MEDIANAME = { media_name | @media_name_variable } 
 | MEDIAPASSWORD = { mediapassword | @mediapassword_variable }

--Error Management Options
 | { CHECKSUM | NO_CHECKSUM } 
 | { STOP_ON_ERROR | CONTINUE_AFTER_ERROR }

--Tape Options
 | { REWIND | NOREWIND } 
 | { UNLOAD | NOUNLOAD }  
 } [ ,...n ]
]
[;]

<backup_device> ::=
{ 
   { logical_backup_device_name |
      @logical_backup_device_name_var }
   | { DISK | TAPE } = { 'physical_backup_device_name' |
       @physical_backup_device_name_var } 
} 

引数

RESTORE HEADERONLY の引数の説明については、「RESTORE の引数 (Transact-SQL)」を参照してください。

結果セット

指定されたデバイス上にあるバックアップごとに、サーバーからヘッダー情報の行が送信されます。下に説明する列が含まれています。

注意

RESTORE HEADERONLY では、メディア上のすべてのバックアップ セットが確認されるため、 大容量のテープ ドライブを使用している場合は結果セットの生成に時間がかかることがあります。 バックアップ セットごとの情報を取得せずにメディアの内容をすばやく確認するには、RESTORE LABELONLY を使用するか、FILE = backup_set_file_number を指定してください。

注意

Microsoft Tape Format の特性により、その他のソフトウェア プログラムから作成されたバックアップ セットと Microsoft SQL Server のバックアップ セットが同じメディア上に記録されている場合がありますが、 RESTORE HEADERONLY によって返される結果セットには、その他のバックアップ セットの情報も 1 件につき 1 行ずつ含まれます。

列名

データ型

SQL Server バックアップ セットの場合の説明

BackupName

nvarchar(128)

バックアップ セット名。

BackupDescription

nvarchar(255)

バックアップ セットの説明。

BackupType

smallint

バックアップの種類。

1 = データベース

2 = トランザクション ログ

4 = ファイル

5 = データベースの差分

6 = ファイルの差分

7 = 部分

8 = 部分的な差分

ExpirationDate

datetime

バックアップ セットの失効日。

Compressed

BYTE(1)

ソフトウェア ベースの圧縮によりバックアップ セットが圧縮されているかどうか。

0 = いいえ

1 = はい

Position

smallint

ボリューム内でのバックアップ セットの位置 (FILE = のオプションで使用)。

DeviceType

tinyint

バックアップ操作で使用するデバイスに対応する値。

ディスク:

2 = 論理

102 = 物理

テープ:

5 = 論理

105 = 物理

仮想デバイス:

7 = 論理

107 = 物理

論理デバイス名とデバイス番号は、sys.backup_devices で確認できます。詳細については、「sys.backup_devices (Transact-SQL)」を参照してください。

UserName

nvarchar(128)

バックアップ操作を実行したユーザーの名前。

ServerName

nvarchar(128)

バックアップ セットを作成したサーバーの名前。

DatabaseName

nvarchar(128)

バックアップの作成元であるデータベースの名前。

DatabaseVersion

int

バックアップの作成元であるデータベースのバージョン。

DatabaseCreationDate

datetime

データベースが作成された日時。

BackupSize

numeric(20,0)

バックアップのサイズ (バイト単位)。

FirstLSN

numeric(25,0)

バックアップ セット内にある先頭のログ レコードのログ シーケンス番号。

LastLSN

numeric(25,0)

バックアップ セットの次のログ レコードのログ シーケンス番号。

CheckpointLSN

numeric(25,0)

バックアップが作成された時点における最新チェックポイントのログ シーケンス番号。

DatabaseBackupLSN

numeric(25,0)

データベース全体の最新バックアップのログ シーケンス番号。

DatabaseBackupLSN は、バックアップの開始時に発生した "チェックポイントの先頭" を表します。 データベースがアイドル状態で、レプリケーションが構成されていないときにバックアップが実行された場合、このログ シーケンス番号は FirstLSN と同じになります。

BackupStartDate

datetime

バックアップ操作が開始した日時。

BackupFinishDate

datetime

バックアップ操作が終了した日時。

SortOrder

smallint

サーバーの並べ替え順。 この列はデータベース バックアップのみで有効です。 これは旧バージョンとの互換性のために用意されています。

CodePage

smallint

サーバーが使用するサーバー コード ページまたは文字セット。

UnicodeLocaleId

int

Unicode 文字データの並べ替えに使用する、サーバー Unicode ロケール ID 構成オプション。 これは旧バージョンとの互換性のために用意されています。

UnicodeComparisonStyle

int

Unicode データの並べ替えに詳細な設定を追加できる、サーバー Unicode 比較スタイル構成オプション。 これは旧バージョンとの互換性のために用意されています。

CompatibilityLevel

tinyint

バックアップの作成元であるデータベースの互換性レベル設定。

SoftwareVendorId

int

ソフトウェア ベンダーの識別番号。 SQL Server の場合、この値は 4608 (16 進数では 0x1200) です。

SoftwareVersionMajor

int

バックアップ セットを作成したサーバーのメジャー バージョン番号。

SoftwareVersionMinor

int

バックアップ セットを作成したサーバーのマイナー バージョン番号。

SoftwareVersionBuild

int

バックアップ セットを作成したサーバーのビルド番号。

MachineName

nvarchar(128)

バックアップ操作を実行したコンピューターの名前。

Flags

int

フラグの各ビットが 1 に設定された場合、フラグによって表される 10 進数の意味は次のとおりです。

1 = 一括ログ記録操作を含むログ バッグアップ。

2 = スナップショット バックアップ。

4 = バックアップ時データベースが読み取り専用。

8 = バックアップ時データベースがシングル ユーザー モード。

16 = バックアップ チェックサムを含むバックアップ。

32 = データベースがバックアップ時に損傷したが、エラーに関係なくバックアップ操作の続行が要求された。

64 = ログ末尾のバックアップ。

128 = 不完全なメタデータでのログ末尾のバックアップ。

256 = NORECOVERY でのログ末尾のバックアップ。

重要な注意事項重要

Flags ではなく、下に示す HasBulkLoggedData から IsCopyOnly までのブール値をとる各列の使用をお勧めします。

BindingID

uniqueidentifier

データベースに割り当てられたバインド ID。 これは sys.database_recovery_status database_guid に対応します。 データベースが復元されると、新しい値が割り当てられます。 下の FamilyGUID も参照してください。

RecoveryForkID

uniqueidentifier

最後の復旧分岐の ID。 この列は、backupset テーブル内の last_recovery_fork_guid に対応します。

データのバックアップでは、RecoveryForkIDFirstRecoveryForkID と同じです。

Collation

nvarchar(128)

データベースで使用されている照合順序。

FamilyGUID

uniqueidentifier

元のデータベースに関する作成時の ID。 この値は、データベースが復元されても変わりません。

HasBulkLoggedData

bit

1 = 一括ログ記録操作を含むログ バッグアップ。

IsSnapshot

bit

1 = スナップショット バックアップ。

IsReadOnly

bit

1 = バックアップ時、データベースが読み取り専用。

IsSingleUser

bit

1 = バックアップ時、データベースがシングル ユーザー モード。

HasBackupChecksums

bit

1 = バックアップ チェックサムを含むバックアップ。

IsDamaged

bit

1 = データベースがバックアップ時に損傷したが、エラーに関係なくバックアップ操作の続行が要求された。

BeginsLogChain

bit

1 = 連鎖的なログ バックアップの先頭。 データベースが作成された後、または単純復旧モデルが完全復旧モデルや一括ログ復旧モデルに切り替わった後、最初に行われるログ バックアップを先頭にして、ログ チェーンが形成されます。

HasIncompleteMetaData

bit

1 = 不完全なメタデータを使用したログ末尾のバックアップ。

不完全なバックアップ メタデータを使用したログ末尾のバックアップについては、「ログ末尾のバックアップ (SQL Server)」を参照してください。

IsForceOffline

bit

1 = NORECOVERY を使用したバックアップ。データベースはバックアップによってオフラインになりました。

IsCopyOnly

bit

1 = コピーのみのバックアップ。

コピーのみのバックアップを行っても、データベースの全体的なバックアップと復元の手順に影響はありません。 詳細については、「コピーのみのバックアップ (SQL Server)」を参照してください。

FirstRecoveryForkID

uniqueidentifier

最初の復旧分岐の ID。 この列は、backupset テーブルの first_recovery_fork_guid に対応します。

データのバックアップでは、FirstRecoveryForkIDRecoveryForkID と同じです。

ForkPointLSN

numeric(25,0) NULL

FirstRecoveryForkIDRecoveryForkID と同じでない場合の、分岐ポイントのログ シーケンス番号。 これらが同じである場合、この値は NULL になります。

RecoveryModel

nvarchar(60)

データベースの復旧モデル。次のいずれかになります。

FULL

BULK-LOGGED

SIMPLE

DifferentialBaseLSN

numeric(25,0) NULL

シングル ベースの差分バックアップの場合、差分ベースの FirstLSN と同じ値になります。DifferentialBaseLSN 以上のログ シーケンス番号の変更は差分に取り込まれます。

マルチ ベースの差分バックアップの場合、この値は NULL です。ベース ログ シーケンス番号はファイル レベルで決定される必要があります。 詳細については、「RESTORE FILELISTONLY (Transact-SQL)」を参照してください。

差分バックアップ以外の種類のバックアップの場合は常に NULL。

詳細については、「差分バックアップ (SQL Server)」を参照してください。

DifferentialBaseGUID

uniqueidentifier

シングル ベースの差分バックアップの場合は、差分ベースの一意識別子。

マルチ ベースの差分バックアップの場合は、NULL。差分のベースはファイルごとに決定する必要があります。

差分バックアップ以外のバックアップの場合は NULL。

BackupTypeDescription

nvarchar(60)

バックアップの種類を表す文字列。次のいずれかになります。

DATABASE

TRANSACTION LOG

FILE OR FILEGROUP

DATABASE DIFFERENTIAL

FILE DIFFERENTIAL PARTIAL

PARTIAL DIFFERENTIAL

BackupSetGUID

uniqueidentifier NULL

メディア上のバックアップ セットを識別する、バックアップ セットの一意識別番号。

CompressedBackupSize

bigint

バックアップ セットのバイト数。 圧縮されていないバックアップの場合、この値は BackupSize と同じです。

圧縮比率を計算するには、CompressedBackupSizeBackupSize を使用します。

この値は、msdb のアップグレード中に、BackupSize 列の値に一致するように設定されます。

containment

tinyint (NULL 以外)

データベースの包含状態を示します。

0 = データベースの包含がオフ

1 = データベースは部分的な包含

注意

バックアップ セットにパスワードが定義されている場合、RESTORE HEADERONLY によって完全な情報が返されるのは、コマンドの PASSWORD オプションと同じパスワードが指定されているバックアップ セットに対してのみです。 また保護されていないバックアップ セットについても、RESTORE HEADERONLY では完全な情報が返されます。 メディア上にある、他のパスワードで保護されているバックアップ セットについては、BackupName 列に '***Password Protected***' という文字列が設定され、他の列は NULL になります。

全般的な解説

クライアントは RESTORE HEADERONLY を使用して、特定のバックアップ デバイス上のすべてのバックアップについて、バックアップ ヘッダーに関するすべての情報を取得できます。 バックアップ デバイス上にあるバックアップごとに、ヘッダー情報が 1 行のデータとしてサーバーから送信されます。

セキュリティ

バックアップ操作では、オプションで、メディア セットとバックアップ セットにそれぞれパスワードを設定できます。 メディア セットまたはバックアップ セットにパスワードが設定されている場合は、RESTORE ステートメントで正しいパスワードを指定する必要があります。 これらのパスワードを設定しておくと、Microsoft SQL Server ツールを使って不正に復元操作が行われたり、メディアにバックアップ セットが不正に追加されるのを防ぐことができます。 ただし、BACKUP ステートメントで FORMAT オプションが使用された場合、メディアの上書きを防ぐことはできません。

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

パスワードによる保護は強力なものではありません。 パスワードによる保護は、権限の有無にかかわらず、ユーザーが SQL Server ツールを使用して不適切な復元を行わないようにすることを目的としています。 その他の手段によるバックアップ データの読み取りやパスワードの置き換えを防ぐわけではありません。 この機能は、将来のバージョンの Microsoft SQL Server では削除される予定です。新しい開発作業では、この機能の使用を避け、現在この機能を使用しているアプリケーションは修正するようにしてください。バックアップ保護に最適な方法は、バックアップ テープを安全な場所に保管するか、バックアップしたディスク ファイルを適切なアクセス制御リスト (ACL) で保護することです。 ACL は、バックアップを作成するディレクトリのルートに設定する必要があります。

権限

SQL Server 2008 以降のバージョンでは、バックアップ セットやバックアップ デバイスに関する情報の取得には CREATE DATABASE 権限が必要になります。 詳細については、「GRANT (データベースの権限の許可) (Transact-SQL)」を参照してください。

使用例

次の例では、ディスク ファイル C:\AdventureWorks-FullBackup.bak のヘッダー情報を返します。

RESTORE HEADERONLY 
FROM DISK = N'C:\AdventureWorks-FullBackup.bak' 
WITH NOUNLOAD;
GO

関連項目

参照

BACKUP (Transact-SQL)

backupset (Transact-SQL)

RESTORE REWINDONLY (Transact-SQL)

RESTORE VERIFYONLY (Transact-SQL)

RESTORE (Transact-SQL)

概念

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

バックアップ中または復元中にバックアップ チェックサムを有効または無効にする (SQL Server)

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

復旧モデル (SQL Server)