다음을 통해 공유


복사 전용 백업

적용 대상: SQL Server Azure 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 공급자 설정 및 사용