백업 또는 복원 중 백업 체크섬 사용 또는 사용 안 함(SQL Server)
적용 대상: SQL Server
이 문서에서는 SQL Server Management Studio 또는 Transact-SQL을 사용하여 SQL Server에서 데이터베이스를 백업하거나 복원할 때 백업 체크섬을 사용하거나 사용하지 않도록 설정하는 방법을 설명합니다.
사용 권한
BACKUP
BACKUP DATABASE
및 BACKUP LOG
권한은 기본적으로 sysadmin 고정 서버 역할과 db_owner 및 db_backupoperator 고정 데이터베이스 역할의 멤버로 설정됩니다.
백업 디바이스의 물리적 파일에서 발생하는 소유권과 사용 권한 문제는 백업 작업에 영향을 미칠 수 있습니다. SQL Server 는 디바이스를 읽고 쓸 수 있어야 하므로 SQL Server 서비스가 실행되는 계정에는 쓰기 권한이 있어야 합니다. 그러나 시스템 테이블의 백업 디바이스에 대한 항목을 추가하는 sp_addumpdevice는 파일 액세스 권한을 확인하지 않습니다. 백업 디바이스의 물리적 파일에서 발생하는 이러한 문제는 백업 또는 복원을 시도할 때 실제 리소스를 액세스하기 전까지는 발생하지 않습니다.
RESTORE
복원할 데이터베이스가 없으면 CREATE DATABASE
권한이 있어야 RESTORE
를 실행할 수 있습니다. 데이터베이스가 있으면 RESTORE
권한은 기본적으로 sysadmin 및 dbcreator 고정 서버 역할의 멤버와 데이터베이스의 소유자(dbo)에 설정됩니다. FROM DATABASE_SNAPSHOT
옵션의 경우 데이터베이스가 항상 있습니다.
멤버 자격 정보를 서버에서 항상 사용할 수 있는 역할에 RESTORE
권한이 제공됩니다. 고정 데이터베이스 역할의 멤버 자격은 데이터베이스가 액세스 가능하며 손상되지 않은 경우에만 확인할 수 있는데, RESTORE
실행 시 데이터베이스가 항상 이런 상태가 아니므로 db_owner 고정 데이터베이스 역할의 멤버에게는 RESTORE
권한이 없습니다.
SQL Server Management Studio 사용
백업 작업 중 체크섬 사용 또는 사용 안 함
데이터베이스 백업 만들기단계를 따릅니다.
옵션 페이지의 안정성 섹션에서 미디어에 쓰기 전에 체크섬 수행을 선택합니다.
Transact-SQL 사용
백업 작업에 백업 체크섬 사용 또는 사용 안 함
데이터베이스 엔진에 연결합니다.
표준 도구 모음에서 새 쿼리를 선택합니다.
BACKUP(Transact-SQL) 문에서 백업 체크섬을 설정하려면
WITH CHECKSUM
옵션을 지정합니다. 백업 체크섬을 사용하지 않도록 설정하려면 옵션을 지정합니다WITH NO_CHECKSUM
. 압축된 백업을 제외한 기본 동작입니다. 다음 예제에서는 체크섬이 수행되도록 지정합니다.
BACKUP DATABASE AdventureWorks2022
TO DISK = 'Z:\SQLServerBackups\AdvWorksData.bak'
WITH CHECKSUM;
GO
복원 작업에 백업 체크섬 사용 또는 사용 안 함
데이터베이스 엔진에 연결합니다.
표준 도구 모음에서 새 쿼리를 선택합니다.
RESTORE 문(Transact-SQL) 문에서 백업 체크섬을 사용하도록 설정하려면 옵션을 지정합니다
WITH CHECKSUM
. 압축된 백업의 기본 동작입니다. 백업 체크섬을 사용하지 않도록 설정하려면 옵션을 지정합니다WITH NO_CHECKSUM
. 압축된 백업을 제외한 기본 동작입니다. 다음 예제에서는 백업 체크섬이 수행되도록 지정합니다.
RESTORE DATABASE AdventureWorks2022
FROM DISK = 'Z:\SQLServerBackups\AdvWorksData.bak'
WITH CHECKSUM;
GO
Warning
복원 작업을 명시적으로 요청하고 CHECKSUM
백업에 백업 체크섬이 포함된 경우 기본 사례와 같이 백업 체크섬과 페이지 체크섬이 모두 확인됩니다. 그러나 백업 세트에 백업 체크섬이 없는 경우 체크섬이 없음을 나타내는 메시지와 함께 복원 작업이 실패합니다.