복사 전용 백업

적용 대상:SQL ServerAzure SQL Managed Instance

복사 전용 백업은 기존 SQL Server 백업 시퀀스에 독립적인 SQL Server 백업입니다. 일반적으로 백업을 실행하면 데이터베이스가 변경되고 이후 백업이 복원되는 방식에 영향을 줍니다. 그러나 데이터베이스에 대한 전체 백업 및 복원 절차에 영향을 주지 않고 특별한 용도로 백업을 수행하는 것이 유용한 경우도 있습니다. 복사 전용 백업은 이 용도로 사용됩니다.

복사 전용 백업 유형은 다음과 같습니다.

  • 복사 전용 전체 백업(모든 복구 모델)

    • 복사 전용 백업은 차등 기반 또는 차등 백업으로 사용할 수 없으며 차등 기반에 영향을 주지 않습니다.

    • 복사 전용 전체 백업을 복원하는 과정은 다른 전체 백업을 복원하는 과정과 동일합니다.

  • 복사 전용 로그 백업(전체 복구 모델 및 대량 로그 복구 모델만 해당)

    • 복사 전용 로그 백업은 기존 로그 보관 지점을 유지하므로 일반 로그 백업의 시퀀싱에 영향을 주지 않습니다. 복사 전용 로그 백업은 일반적으로 필요하지 않습니다. 대신 새 루틴 로그 백업(사용 WITH NORECOVERY)을 만들고 복원 순서에 필요한 이전 로그 백업과 함께 해당 백업을 사용할 수 있습니다. 그러나 복사 전용 로그 백업은 온라인 복원을 수행하는 데 유용할 수 있습니다. 자세한 내용은 복사 전용 백업 파일을 대신 사용하여 읽기-쓰기 파일(전체 복구 모델)의 온라인 복원 예제 문서의 지침을 따르세요.

    • 트랜잭션 로그는 복사 전용 백업 후에 잘리지 않습니다.

복사 전용 백업은 백업 세트 테이블의 열에 기록 is_copy_only 됩니다.

Important

Azure SQL Managed Instance에서는 TDE(서비스 관리 투명한 데이터 암호화)암호화된 데이터베이스에 대한 복사 전용 백업을 만들 수 없습니다. 서비스 관리형 TDE는 데이터 암호화에 내부 키를 사용하며 해당 키를 내보낼 수 없으므로 다른 곳에서는 백업을 복원할 수 없습니다. 대신 고객 관리형 TDE를 사용하여 암호화된 데이터베이스의 복사 전용 백업을 만들 수 있지만 나중에 복원할 수 있도록 암호화 키를 사용해야 합니다.

복사 전용 백업 만들기

SQL Server Management Studio, Azure Data Studio, Transact-SQL 또는 PowerShell을 사용하여 복사 전용 백업을 만들 수 있습니다.

A. SQL Server Management Studio 사용

이 예제에서는 데이터베이스의 복사 전용 백업이 기본 백업 위치의 Sales 디스크에 백업됩니다.

  1. 개체 탐색기 SQL Server 데이터베이스 엔진 인스턴스에 연결한 다음 해당 인스턴스를 확장합니다.

  2. 데이터베이스를 확장하고 마우스 오른쪽 단추를 클릭하고 Sales작업을 가리킨 다음 백업...을 선택합니다.

  3. 원본 섹션의 일반 페이지에서 복사 전용 백업 검사 상자를 검사.

  4. 확인을 선택합니다.

B. Transact-SQL 사용

이 예제에서는 매개 변수를 사용하는 데이터베이스에 Sales 대한 복사 전용 백업을 COPY_ONLY 만듭니다. 트랜잭션 로그의 복사 전용 백업도 수행됩니다.

BACKUP DATABASE Sales
TO DISK = 'E:\BAK\Sales_Copy.bak'
WITH COPY_ONLY;

BACKUP LOG Sales
TO DISK = 'E:\BAK\Sales_LogCopy.trn'
WITH COPY_ONLY;

참고 항목

COPY_ONLY 옵션을 사용하여 지정하면 DIFFERENTIAL 아무런 효과가 없습니다.

C. Transact-SQL 및 Azure SQL Managed Instance 사용

Azure SQL Managed Instance는 COPY_ONLY 전체 백업을 지원합니다. 이 예제에서는 Microsoft Azure Blob Storage에 MyDatabase의 COPY_ONLY 백업을 수행합니다. 스토리지 계정 이름은 mystorageaccount입니다. 컨테이너는 myfirstcontainer입니다. 읽기, 쓰기, 삭제 및 목록 권한으로 스토리지 액세스 정책을 만들었습니다. SQL Server 자격 증명 https://mystorageaccount.blob.core.windows.net/myfirstcontainer은 스토리지 액세스 정책 비밀과 연결된 공유 액세스 서명을 사용하여 만들어졌습니다. Microsoft Azure Blob Storage에 대한 SQL Server 백업의 자세한 내용은 Microsoft Azure Blob Storage로 SQL Server 백업 및 복원URL에 SQL Server 백업을 참조하세요.

-- Prerequisite to have write permissions
CREATE CREDENTIAL [https://mystorageaccount.blob.core.windows.net/myfirstcontainer]
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = 'sp=...' -- Enter your secret SAS token here.

BACKUP DATABASE MyDatabase
TO URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/MyDatabaseBackup.bak'
WITH STATS = 5, COPY_ONLY;

복사 전용 백업을 여러 줄무늬로 나누려면 다음 예제를 사용합니다.

BACKUP DATABASE MyDatabase
TO URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/MyDatabase-01.bak',
URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/MyDatabase-02.bak',
URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/MyDatabase-03.bak',
URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/MyDatabase-04.bak'
WITH COPY_ONLY;

D. PowerShell 사용

이 예제에서는 매개 변수를 사용하는 데이터베이스에 Sales 대한 복사 전용 백업을 -CopyOnly 만듭니다.

Backup-SqlDatabase -ServerInstance 'SalesServer' -Database 'Sales' -BackupFile 'E:\BAK\Sales_Copy.bak' -CopyOnly

전체 또는 로그 백업 만들기

복사 전용 백업 보기

SQL Server PowerShell 공급자 설정 및 사용