RESTORE HEADERONLY (Transact-SQL)
特定のバックアップ デバイス上にあるすべてのバックアップ セットについて、すべてのバックアップ ヘッダー情報を含む結果セットを返します。
注 |
---|
引数の説明については、「RESTORE の引数 (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 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 = 部分的な差分 |
バックアップの種類。 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.database_recovery_statusdatabase_guid に対応します。データベースが復元されると、新しい値が割り当てられます。下の FamilyGUID も参照してください。 |
NULL |
RecoveryForkID |
uniqueidentifier |
最後の復旧分岐の ID。この列は、backupset テーブル内の last_recovery_fork_guid に対応します。 データのバックアップでは、RecoveryForkID は FirstRecoveryForkID と同じです。 |
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 に対応します。 データのバックアップでは、FirstRecoveryForkID は RecoveryForkID と同じです。 |
NULL |
ForkPointLSN |
numeric(25,0) NULL |
FirstRecoveryForkID が RecoveryForkID と同じでない場合の、分岐ポイントのログ シーケンス番号。これらが同じ場合は、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 |
bigint |
バックアップ セットのバイト数。圧縮されていないバックアップの場合、この値は BackupSize と同じです。 圧縮比率を計算するには、CompressedBackupSize と BackupSize を使用します。 この値は、msdb のアップグレード中に、BackupSize 列の値に一致するように設定されます。 |
NULL |
注 |
---|
バックアップ セットにパスワードが定義されている場合、RESTORE HEADERONLY によって完全な情報が返されるのは、コマンドの PASSWORD オプションと同じパスワードが指定されているバックアップ セットに対してのみです。また保護されていないバックアップ セットについても、RESTORE HEADERONLY では完全な情報が返されます。メディア上にある、他のパスワードで保護されているバックアップ セットについては、BackupName 列に '***Password Protected***' という文字列が設定され、他の列は NULL になります。 |
説明
クライアントは RESTORE HEADERONLY を使用して、特定のバックアップ デバイス上のすべてのバックアップについて、バックアップ ヘッダーに関するすべての情報を取得できます。バックアップ デバイス上にあるバックアップごとに、ヘッダー情報が 1 行のデータとしてサーバーから送信されます。
権限
SQL Server 2008 以降のバージョンでは、バックアップ セットやバックアップ デバイスに関する情報の取得には CREATE DATABASE 権限が必要になります。詳細については、「GRANT (データベースの権限の許可) (Transact-SQL)」を参照してください。
バックアップ操作では、オプションで、メディア セットとバックアップ セットにそれぞれパスワードを設定できます。メディア セットまたはバックアップ セットにパスワードが設定されている場合は、RESTORE ステートメントで正しいパスワードを指定する必要があります。これらのパスワードを設定しておくと、Microsoft SQL Server ツールを使って不正に復元操作が行われたり、メディアにバックアップ セットが不正に追加されるのを防ぐことができます。ただし、BACKUP ステートメントで FORMAT オプションが使用された場合、メディアの上書きを防ぐことはできません。
セキュリティに関する注意 |
---|
パスワードによる保護は強力なものではありません。パスワードによる保護は、権限の有無にかかわらず、ユーザーが SQL Server ツールを使用して不適切な復元を行わないようにすることを目的としています。その他の手段によるバックアップ データの読み取りやパスワードの置き換えを防ぐわけではありません。この機能は、将来のバージョンの Microsoft SQL Server では削除される予定です。新しい開発作業では、この機能の使用を避け、現在この機能を使用しているアプリケーションは修正するようにしてください。バックアップ保護に最適な方法は、バックアップ テープを安全な場所に保管するか、バックアップしたディスク ファイルを適切なアクセス制御リスト (ACL) で保護することです。ACL は、バックアップを作成するディレクトリのルートに設定する必要があります。 |
使用例
次の例では、ディスク ファイル C:\AdventureWorks2008R2-FullBackup.bak のヘッダー情報を返します。
RESTORE HEADERONLY
FROM DISK = N'C:\AdventureWorks2008R2-FullBackup.bak'
WITH NOUNLOAD;
GO
関連項目