다음을 통해 공유


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에서 반환한 결과 집합에는 각각의 다른 백업 세트에 대한 행이 포함되어 있습니다.

열 이름

데이터 형식

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 = 예

위치

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은 백업이 시작될 때 트리거되는 "검사점의 시작"입니다. 데이터베이스가 유휴 상태이고 복제가 구성되지 않은 경우 백업이 수행되면 이 LSN은 FirstLSN과 일치하게 됩니다.

NULL

BackupStartDate

datetime

백업 작업이 시작된 날짜와 시간

미디어 기록 날짜

BackupFinishDate

datetime

백업 작업이 완료된 날짜와 시간

미디어 기록 날짜

SortOrder

smallint

서버 정렬 순서. 이 열은 데이터베이스 백업에만 유효하고 이전 버전과의 호환성을 위해 제공됩니다.

NULL

CodePage

smallint

서버 코드 페이지 또는 서버에서 사용한 문자 집합

NULL

UnicodeLocaleId

int

유니코드 문자 데이터 정렬에 사용한 서버 유니코드 로캘 ID 구성 옵션. 이전 버전과의 호환성을 위해 제공됩니다.

NULL

UnicodeComparisonStyle

int

유니코드 데이터 정렬에 대한 추가 제어를 제공하는 서버 유니코드 비교 스타일 구성 옵션. 이전 버전과의 호환성을 위해 제공됩니다.

NULL

CompatibilityLevel

tinyint

백업을 만들 데이터베이스의 호환성 수준 설정

NULL

SoftwareVendorId

int

소프트웨어 공급업체 ID. SQL Server의 경우 이 번호는 4608(또는 0x1200 16진수)입니다.

소프트웨어 공급업체 ID

SoftwareVersionMajor

int

백업 세트를 만든 서버의 주 버전 번호

백업 세트를 만든 소프트웨어의 주 버전 번호

SoftwareVersionMinor

int

백업 세트를 만든 서버의 부 버전 번호

백업 세트를 만든 소프트웨어의 부 버전 번호

SoftwareVersionBuild

int

백업 세트를 만든 서버의 빌드 번호

NULL

MachineName

nvarchar(128)

백업 작업을 수행한 컴퓨터의 이름

백업 작업을 수행한 컴퓨터의 유형

Flags

int

1로 설정된 경우 개별 플래그 비트의 의미는 다음과 같습니다.

1 = 로그 백업에 대량 로그 작업이 포함됩니다.

2 = 스냅숏 백업입니다.

4 = 데이터베이스가 읽기 전용으로 백업되었습니다.

8 = 데이터베이스가 단일 사용자 모드로 백업되었습니다.

16 =백업에 백업 체크섬을 포함합니다.

32 = 백업 시 데이터베이스가 손상되었으나 오류가 있더라도 백업 작업을 계속하도록 요청했습니다.

64 = 비상 로그 백업입니다.

128 = 메타데이터가 완전하지 않은 비상 로그 백업입니다.

256 = NORECOVERY 상태의 비상 로그 백업입니다.

중요 정보중요
Flags 대신 개별 Boolean 열을 사용하는 것이 좋습니다. 이 열은 아래의 HasBulkLoggedData부터 IsCopyOnly까지 나열되어 있습니다.

NULL

BindingID

uniqueidentifier

데이터베이스에 대한 바인딩 ID입니다. 이 열은 sys.databasesdatabase_guid에 해당됩니다. 데이터베이스를 복원하면 새 값이 할당됩니다. 아래의 FamilyGUID를 참조하십시오.

NULL

RecoveryForkID

uniqueidentifier

복구 분기 끝 지점의 ID입니다. 이 열은 backupset 테이블의 last_recovery_fork_guid에 해당됩니다.

데이터 백업의 경우 RecoveryForkIDFirstRecoveryForkID와 동일합니다.

NULL

데이터 정렬

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보다 크거나 같도록 LSN을 변경하면 차등 백업에 포함됩니다.

여러 백업을 기반으로 하는 차등 백업의 경우 값은 NULL이며 기본 LSN은 파일 수준에서 결정해야 합니다. 자세한 내용은 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

미디어에서 식별의 기준이 되는 백업 세트의 고유 ID입니다.

NULL

CompressedBackupSize

uint64

백업 세트의 바이트 수입니다. 압축되지 않은 백업의 경우 이 값은 BackupSize와 같습니다.

압축 비율을 계산하려면 CompressedBackupSizeBackupSize를 사용합니다.

msdb 업그레이드 동안 이 값은 BackupSize 열의 값과 일치하도록 설정됩니다.

NULL

[!참고]

백업 세트에 대한 암호를 정의한 경우 RESTORE HEADERONLY는 명령의 지정한 PASSWORD 옵션과 일치하는 암호의 백업 세트에 대한 정보만 모두 표시합니다. RESTORE HEADERONLY는 보호되지 않은 백업 세트에 대한 정보도 모두 표시합니다. 암호로 보호된 미디어의 다른 백업 세트에 대한 BackupName 열은 '***암호로 보호됨***'으로 설정되고 다른 열은 모두 NULL이 됩니다.

주의

클라이언트는 RESTORE HEADERONLY를 사용하여 특정 백업 장치의 모든 백업에 대한 백업 헤더 정보를 모두 검색합니다. 서버는 백업 장치의 각 백업에 대한 헤더 정보를 행으로 보냅니다.

사용 권한

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