次の方法で共有


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

列名

データ型

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

その他のバックアップ セットの場合の説明

BackupName

nvarchar(128)

バックアップ セット名。

データセット名。

BackupDescription

nvarchar(255)

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

データセットの説明。

BackupType

smallint

バックアップの種類。

1 = データベース

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

4 = ファイル

5 = データベースの差分

6 = ファイルの差分

7 = 部分

8 = 部分的な差分

バックアップの種類。

1 = 標準

5 = 差分

16 = 増分

17 = 毎日

ExpirationDate

datetime

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

NULL

Compressed

BYTE(1)

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

0 = いいえ

1 = はい

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

0 = いいえ

1 = はい

Position

smallint

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

ボリューム内でのバックアップ セットの位置。

DeviceType

tinyint

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

ディスク:

2 = 論理

102 = 物理

テープ:

5 = 論理

105 = 物理

仮想デバイス:

7 = 論理

107 = 物理

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

NULL

UserName

nvarchar(128)

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

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

ServerName

nvarchar(128)

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

NULL

DatabaseName

nvarchar(128)

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

NULL

DatabaseVersion

int

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

NULL

DatabaseCreationDate

datetime

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

NULL

BackupSize

numeric(20,0)

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

NULL

FirstLSN

numeric(25,0)

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

NULL

LastLSN

numeric(25,0)

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

NULL

CheckpointLSN

numeric(25,0)

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

NULL

DatabaseBackupLSN

numeric(25,0)

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

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

NULL

BackupStartDate

datetime

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

メディアの書き込み日付。

BackupFinishDate

datetime

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

メディアの書き込み日付。

SortOrder

smallint

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

NULL

CodePage

smallint

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

NULL

UnicodeLocaleId

int

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

NULL

UnicodeComparisonStyle

int

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

NULL

CompatibilityLevel

tinyint

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

NULL

SoftwareVendorId

int

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

ソフトウェア ベンダの識別番号。

SoftwareVersionMajor

int

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

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

SoftwareVersionMinor

int

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

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

SoftwareVersionBuild

int

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

NULL

MachineName

nvarchar(128)

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

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

Flags

int

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

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

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

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

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

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

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

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

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

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

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

NULL

BindingID

uniqueidentifier

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

NULL

RecoveryForkID

uniqueidentifier

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

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

NULL

Collation

nvarchar(128)

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

NULL

FamilyGUID

uniqueidentifier

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

NULL

HasBulkLoggedData

bit

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

NULL

IsSnapshot

bit

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

NULL

IsReadOnly

bit

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

NULL

IsSingleUser

bit

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

NULL

HasBackupChecksums

bit

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

NULL

IsDamaged

bit

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

NULL

BeginsLogChain

bit

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

NULL

HasIncompleteMetaData

bit

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

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

NULL

IsForceOffline

bit

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

NULL

IsCopyOnly

bit

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

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

NULL

FirstRecoveryForkID

uniqueidentifier

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

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

NULL

ForkPointLSN

numeric(25,0) NULL

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

NULL

RecoveryModel

nvarchar(60)

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

FULL

BULK-LOGGED

SIMPLE

NULL

DifferentialBaseLSN

numeric(25,0) NULL

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

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

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

詳細については、「差分バックアップの基になるバックアップ」を参照してください。

NULL

DifferentialBaseGUID

uniqueidentifier

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

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

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

NULL

BackupTypeDescription

nvarchar(60)

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

DATABASE

TRANSACTION LOG

FILE OR FILEGROUP

DATABASE DIFFERENTIAL

FILE DIFFERENTIAL PARTIAL

PARTIAL DIFFERENTIAL

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

NORMAL

DIFFERENTIAL

INCREMENTAL

DAILY

BackupSetGUID

uniqueidentifier NULL

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

NULL

CompressedBackupSize

uint64

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

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

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

NULL

注意注意

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

説明

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

権限

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

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

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

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

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

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