backupset(Transact-SQL)
적용 대상: SQL Server Azure SQL Managed Instance Analytics Platform System(PDW)
각 백업 집합에 대한 행을 포함합니다. 백업 세트에는 하나의 성공한 백업 작업의 백업이 포함됩니다. RESTORE, RESTORE FILELISTONLY, RESTORE HEADERONLY 및 RESTORE VERIFYONLY 문은 지정한 백업 디바이스의 미디어 세트 내에 있는 단일 백업 세트에서 작동합니다.
이 테이블은 데이터베이스에 msdb
저장됩니다.
열 이름 | 데이터 형식 | 설명 |
---|---|---|
backup_set_id | int | 백업 집합을 식별하는 고유한 백업 집합 ID 번호입니다. ID, 기본 키입니다. |
backup_set_uuid | uniqueidentifier | 백업 집합을 식별하는 고유한 백업 집합 ID 번호입니다. |
media_set_id | int | 백업 세트가 포함된 미디어 세트를 식별하는 고유 미디어 세트 식별 번호입니다. backupmediaset(media_set_id)를 참조합니다. |
first_family_number | tinyint | 백업 세트가 시작되는 미디어의 패밀리 번호입니다. NULL일 수 있습니다. |
first_media_number | smallint | 백업 세트가 시작되는 미디어의 미디어 번호입니다. NULL일 수 있습니다. |
last_family_number | tinyint | 백업 세트가 끝나는 미디어의 패밀리 번호입니다. NULL일 수 있습니다. |
last_media_number | smallint | 백업 세트가 끝나는 미디어의 미디어 번호입니다. NULL일 수 있습니다. |
catalog_family_number | tinyint | 백업 세트 디렉터리의 시작을 포함하는 미디어의 패밀리 번호입니다. NULL일 수 있습니다. |
catalog_media_number | smallint | 백업 세트 디렉터리의 시작을 포함하는 미디어의 미디어 번호입니다. NULL일 수 있습니다. |
위치 | int | 복원 작업에서 적절한 백업 세트 및 파일을 찾는 데 사용되는 백업 집합 위치입니다. NULL일 수 있습니다. 자세한 내용은 BACKUP(Transact-SQL)에서 FILE을 참조하세요. |
expiration_date | 날짜/시간 | 백업 세트가 만료되는 날짜 및 시간입니다. NULL일 수 있습니다. |
software_vendor_id | int | 백업 미디어 헤더를 작성하는 소프트웨어 공급업체의 ID 번호입니다. NULL일 수 있습니다. |
이름 | nvarchar(128) | 백업 집합의 이름입니다. NULL일 수 있습니다. |
description | nvarchar(255) | 백업 세트에 관한 설명입니다. NULL일 수 있습니다. |
user_name | nvarchar(128) | 백업 작업을 수행하는 사용자의 이름입니다. NULL일 수 있습니다. |
software_major_version | tinyint | Microsoft SQL Server 주 버전 번호입니다. NULL일 수 있습니다. |
software_minor_version | tinyint | SQL Server 부 버전 번호입니다. NULL일 수 있습니다. |
software_build_version | smallint | SQL Server 빌드 번호입니다. NULL일 수 있습니다. |
time_zone | smallint | 백업 작업이 시작된 시점의 표준 시간대 정보를 사용하여 백업 작업이 수행되는 현지 시간과 UTC(협정 세계시) 간의 차이(15분 간격)입니다. 값은 -48~ +48(포함)일 수 있습니다. 값 127은 알 수 없음을 의미합니다. 예를 들어 -20은 동부 표준시(EST) 또는 UTC 이후 5시간입니다. NULL일 수 있습니다. |
mtf_minor_version | tinyint | Microsoft Tape Format의 부 버전 번호입니다. NULL일 수 있습니다. |
first_lsn | numeric(25,0) | 백업 세트에서 첫 번째 또는 가장 오래된 로그 레코드의 로그 시퀀스 번호입니다. NULL일 수 있습니다. |
last_lsn | numeric(25,0) | 백업 세트 다음에 오는 로그 레코드의 로그 시퀀스 번호입니다. NULL일 수 있습니다. |
checkpoint_lsn | numeric(25,0) | 다시 실행이 시작되어야 하는 로그 레코드의 로그 시퀀스 번호입니다. NULL일 수 있습니다. |
database_backup_lsn | numeric(25,0) | 가장 최근 전체 데이터베이스 백업의 로그 시퀀스 번호입니다. NULL일 수 있습니다. database_backup_lsn은 백업이 시작될 때 트리거되는 "검사점의 시작"입니다. 데이터베이스가 유휴 상태이고 복제가 구성되지 않은 경우 백업이 수행되면 이 LSN은 first_lsn과 일치하게 됩니다. |
database_creation_date | 날짜/시간 | 데이터베이스를 처음 만든 날짜 및 시간입니다. NULL일 수 있습니다. |
backup_start_date | 날짜/시간 | 백업 작업이 시작된 날짜 및 시간입니다. NULL일 수 있습니다. |
backup_finish_date | 날짜/시간 | 백업 작업이 완료된 날짜와 시간입니다. NULL일 수 있습니다. |
type | char(1) | 백업 유형입니다. 다음이 될 수 있습니다. D = 데이터베이스 I = 차등 데이터베이스 L = 로그 F = 파일 또는 파일 그룹 G =차등 파일 P = 부분 Q = 차등 부분 NULL일 수 있습니다. |
sort_order | smallint | 백업 작업을 수행하는 서버의 정렬 순서입니다. NULL일 수 있습니다. 정렬 순서 및 데이터 정렬에 대한 자세한 내용은 데이터 정렬 및 유니코드 지원을 참조하세요. |
code_page | smallint | 백업 작업을 수행하는 서버의 코드 페이지입니다. NULL일 수 있습니다. 코드 페이지에 대한 자세한 내용은 데이터 정렬 및 유니코드 지원을 참조하세요. |
compatibility_level | tinyint | 데이터베이스에 대한 호환성 수준 설정입니다. 다음이 될 수 있습니다. 90 = SQL Server 2005(9.x) 100 = SQL Server 2008(10.0.x) 110 = SQL Server 2012(11.x) 120 = SQL Server 2014(12.x) 130 = SQL Server 2016(13.x) 140 = SQL Server 2017(14.x) 150 = SQL Server 2019(15.x) 160 = SQL Server 2022(16.x) NULL일 수 있습니다. 호환성 수준에 대한 자세한 내용은 ALTER DATABASE 호환성 수준(Transact-SQL)을 참조하세요. |
database_version | int | 데이터베이스 버전 번호입니다. NULL일 수 있습니다. |
backup_size | numeric(20,0) | 백업 세트의 크기(바이트)입니다. NULL일 수 있습니다. VSS 백업의 경우 backup_size는 예상 값입니다. |
database_name | nvarchar(128) | 백업 작업에 관련된 데이터베이스의 이름입니다. NULL일 수 있습니다. |
server_name | nvarchar(128) | SQL Server 백업 작업을 실행하고 있는 서버의 이름입니다. NULL일 수 있습니다. |
machine_name | nvarchar(128) | SQL Server를 실행 중인 서버 컴퓨터의 이름입니다. NULL일 수 있습니다. |
flags | int | SQL Server에서는 flags 열이 사용되지 않고 대신 다음과 같은 bit 열이 사용됩니다. has_bulk_logged_data is_snapshot is_readonly is_single_user has_backup_checksums is_damaged begins_log_chain has_incomplete_metadata is_force_offline is_copy_only NULL일 수 있습니다. SQL Server 이전 버전의 백업 세트에서 플래그 비트는 다음과 같습니다. 1 = 백업에 최소 로깅된 데이터가 포함됩니다. 2 = WITH SNAPSHOT이 사용되었습니다. 4 = 백업 시 데이터베이스가 읽기 전용이었습니다. 8 = 데이터베이스가 백업 시 단일 사용자 모드였습니다. |
unicode_locale | int | 유니코드 로캘입니다. NULL일 수 있습니다. |
unicode_compare_style | int | 유니코드 비교 스타일입니다. NULL일 수 있습니다. |
collation_name | nvarchar(128) | 데이터 정렬 이름입니다. NULL일 수 있습니다. |
Is_password_protected | bit | 백업 세트입니다. 다음과 같이 암호로 보호됩니다. 0 = 보호되지 않음 1 = 보호됨 |
recovery_model | nvarchar(60) | 데이터베이스의 복구 모델입니다. FULL BULK-LOGGED SIMPLE |
has_bulk_logged_data | bit | 1 = 백업에 대량 로그 데이터가 포함됩니다. |
is_snapshot | bit | 1 = SNAPSHOT 옵션을 사용하여 백업을 수행했습니다. |
is_readonly | bit | 1 = 백업 시 데이터베이스가 읽기 전용이었습니다. |
is_single_user | bit | 1 = 데이터베이스가 백업 당시 단일 사용자였습니다. |
has_backup_checksums | bit | 1 = 백업이 백업 체크섬을 포함합니다. |
is_damaged | bit | 1 = 이 백업을 만들 때 데이터베이스 손상이 감지되었습니다. 오류와 관계없이 백업 작업을 계속하도록 요청했습니다. |
begins_log_chain | bit | 1 = 연속되는 로그 백업 체인에서 첫 번째 체인입니다. 로그 체인은 데이터베이스를 만든 후 또는 단순에서 전체 또는 대량 로그 복구 모델로 전환될 때 수행되는 첫 번째 로그 백업으로 시작합니다. |
has_incomplete_metadata | bit | 1 = 불완전한 메타데이터가 있는 비상 로그 백업입니다. 자세한 내용은 비상 로그 백업(SQL Server)를 참조하세요. |
is_force_offline | bit | 1 = 백업을 수행했을 때 NORECOVERY 옵션을 사용하여 데이터베이스를 오프라인으로 전환했습니다. |
is_copy_only | bit | 1 = 복사 전용 백업입니다. 자세한 내용은 복사 전용 백업(SQL Server)을 참조하세요. |
first_recovery_fork_guid | uniqueidentifier | 시작 복구 포크의 ID입니다. RESTORE HEADERONLY의 FirstRecoveryForkID에 해당됩니다. 데이터 백업의 경우 first_recovery_fork_guid는 last_recovery_fork_guid와 같습니다. |
last_recovery_fork_guid | uniqueidentifier | 끝 복구 포크의 ID입니다. RESTORE HEADERONLY의 RecoveryForkID에 해당됩니다. 데이터 백업의 경우 first_recovery_fork_guid는 last_recovery_fork_guid와 같습니다. |
fork_point_lsn | numeric(25,0) | first_recovery_fork_guid가 last_recovery_fork_guid와 같지 않으면 분기 지점의 로그 시퀀스 번호입니다. 그렇지 않으면 값이 NULL입니다. |
database_guid | uniqueidentifier | 데이터베이스에 대한 고유 ID입니다. RESTORE HEADERONLY의 BindingID에 해당됩니다. 데이터베이스가 복원되면 새 값이 할당됩니다. |
family_guid | uniqueidentifier | 생성 시 원래 데이터베이스의 고유 ID입니다. 이 값은 데이터베이스가 다른 이름으로 복원되는 경우에도 동일하게 유지됩니다. |
differential_base_lsn | numeric(25,0) | 차등 백업에 대한 기본 LSN입니다. 단일 백업을 기반으로 하는 차등 백업의 경우 differential_base_lsn보다 크거나 같도록 LSN을 변경하면 차등 백업에 포함됩니다. 여러 백업을 기반으로 하는 차등 백업의 경우 값은 NULL이며 기본 LSN은 파일 수준에서 결정해야 합니다(backupfile(Transact-SQL) 참조). 비차등 백업 유형의 경우 값은 항상 NULL입니다. |
differential_base_guid | uniqueidentifier | 단일 백업을 기준으로 하는 차등 백업의 경우 값은 차등 기반의 고유 식별자입니다. 다중 기반 차등의 경우 값은 NULL이고 차등 기준은 파일 수준에서 결정되어야 합니다. 비차등 백업 유형의 경우 값은 NULL입니다. |
compressed_backup_size | Numeric(20,0) | 디스크에 저장된 백업의 총 바이트 수입니다. 압축 비율을 계산하려면 compressed_backup_size 및 backup_size를 사용합니다. 업그레이드하는 msdb 동안 이 값은 NULL로 설정됩니다. 압축되지 않은 백업을 나타냅니다. |
key_algorithm | nvarchar(32) | 백업을 암호화하는 데 사용되는 암호화 알고리즘입니다. NO_Encryption 값은 백업이 암호화되지 않았음을 나타냅니다. |
encryptor_thumbprint | varbinary(20) | 데이터베이스에서 인증서나 비대칭 키를 찾는 데 사용할 수 있는 암호기의 지문입니다. 백업이 암호화되지 않은 경우 이 값은 NULL입니다. |
encryptor_type | nvarchar(32) | 사용되는 암호기 유형으로 인증서 또는 비대칭 키를 반환합니다. 백업이 암호화되지 않은 경우 이 값은 NULL입니다. |
last_valid_restore_time | 날짜/시간 | 타임스탬프를 전달하는 로그 레코드에 대한 트랜잭션 로그 백업에 포함된 마지막 트랜잭션 로그 레코드의 타임스탬프입니다. 문에 절이 지정될 때 STOPAT 복원할 마지막 로그 백업을 찾는 데 도움을 줌으로써 복원 계획 생성을 RESTORE LOG 지원합니다. 해당 로그 백업의 last_valid_restore_time 절에 지정된 시간보다 엄격히 큽 수 있습니다 STOPAT . SQL Server 2022(16.x)에서 도입되었습니다. |
compression_algorithm | nvarchar(32) | SQL Server 백업을 만들 때 사용된 압축 알고리즘입니다. SQL Server 2022(16.x)에서 도입되었습니다. 기본값은 MS_XPRESS 입니다. 자세한 내용은 BACKUP 압축 및 통합 가속 및 오프로드를 참조하세요. |
설명
RESTORE VERIFYONLY FROM <backup_device> WITH LOADHISTORY
는 테이블의backupmediaset
열을 미디어 세트 헤더의 적절한 값으로 채웁니다.- 이 테이블과 기타 백업 및 기록 테이블의 행 개수를 줄이려면 sp_delete_backuphistory 저장 프로시저를 실행합니다.
- SQL Managed Instance의 경우 백업 투명성 및 백업 모니터링 방법을 참조하세요.
예제
백업 기록 쿼리
다음 쿼리는 지난 2개월 동안의 성공적인 백업 정보를 반환합니다.
SELECT bs.database_name,
backuptype = CASE
WHEN bs.type = 'D' AND bs.is_copy_only = 0 THEN 'Full Database'
WHEN bs.type = 'D' AND bs.is_copy_only = 1 THEN 'Full Copy-Only Database'
WHEN bs.type = 'I' THEN 'Differential database backup'
WHEN bs.type = 'L' THEN 'Transaction Log'
WHEN bs.type = 'F' THEN 'File or filegroup'
WHEN bs.type = 'G' THEN 'Differential file'
WHEN bs.type = 'P' THEN 'Partial'
WHEN bs.type = 'Q' THEN 'Differential partial'
END + ' Backup',
CASE bf.device_type
WHEN 2 THEN 'Disk'
WHEN 5 THEN 'Tape'
WHEN 7 THEN 'Virtual device'
WHEN 9 THEN 'Azure Storage'
WHEN 105 THEN 'A permanent backup device'
ELSE 'Other Device'
END AS DeviceType,
bms.software_name AS backup_software,
bs.recovery_model,
bs.compatibility_level,
BackupStartDate = bs.Backup_Start_Date,
BackupFinishDate = bs.Backup_Finish_Date,
LatestBackupLocation = bf.physical_device_name,
backup_size_mb = CONVERT(DECIMAL(10, 2), bs.backup_size / 1024. / 1024.),
compressed_backup_size_mb = CONVERT(DECIMAL(10, 2), bs.compressed_backup_size / 1024. / 1024.),
database_backup_lsn, -- For tlog and differential backups, this is the checkpoint_lsn of the FULL backup it is based on.
checkpoint_lsn,
begins_log_chain,
bms.is_password_protected
FROM msdb.dbo.backupset bs
LEFT JOIN msdb.dbo.backupmediafamily bf
ON bs.[media_set_id] = bf.[media_set_id]
INNER JOIN msdb.dbo.backupmediaset bms
ON bs.[media_set_id] = bms.[media_set_id]
WHERE bs.backup_start_date > DATEADD(MONTH, - 2, sysdatetime()) --only look at last two months
ORDER BY bs.database_name ASC,
bs.Backup_Start_Date DESC;
다음 단계
- BACKUP(Transact-SQL)
- RESTORE 문(Transact-SQL)
- 테이블 백업 및 복원(Transact-SQL)
- backupfile(Transact-SQL)
- backupfilegroup(Transact-SQL)
- backupmediafamily(Transact-SQL)
- backupmediaset(Transact-SQL)
- 백업 및 복원 중 가능한 미디어 오류(SQL Server)
- 미디어 세트, 미디어 패밀리 및 백업 세트(SQL Server)
- 복구 모델(SQL Server)
- RESTORE HEADERONLY(Transact-SQL)
- 테이블 백업 및 복원(Transact-SQL)