암호화된 백업 만들기

적용 대상:SQL Server

이 문서에서는 Transact-SQL을 사용하여 암호화된 백업을 만드는 데 필요한 단계를 설명합니다. SQL Server Management Studio를 사용하는 예시는 전체 데이터베이스 백업 만들기를 참조하세요.

주의

암호화된 데이터베이스를 복원하려면 해당 데이터베이스를 암호화하는 데 사용된 인증서 또는 비대칭 키에 액세스할 수 있어야 합니다. 인증서 또는 비대칭 키가 없으면 해당 데이터베이스를 복원할 수 없습니다. 데이터베이스 암호화 키의 암호화에 사용되는 인증서를 백업을 저장하기 위해 필요한 기간 동안 저장합니다. 자세한 내용은 SQL Server Certificates and Asymmetric Keys을 참조하세요.

필수 조건

  • 암호화된 백업에 대한 스토리지입니다. 선택한 옵션에 따라 다음 중 하나를 선택합니다.

    • 데이터베이스 백업을 만들 수 있는 충분한 공간이 있는 로컬 디스크 또는 스토리지.
    • Azure Storage 계정 및 컨테이너. 자세한 내용은 스토리지 계정 만들기 를 참조하세요.
  • master 데이터베이스의 DMK(데이터베이스 마스터 키)와 SQL Server 인스턴스의 인증서 또는 비대칭 키입니다. 암호화 요구 사항과 사용 권한에 대한 자세한 내용은 백업 암호화를 참조하세요.

데이터베이스 마스터 키(DMK) 만들기

데이터베이스에 저장될 DMK의 복사본을 암호화하기 위한 암호를 선택합니다. 데이터베이스 엔진에 연결하고 새 쿼리 창을 시작하여 다음 예시를 복사하여 붙여 넣은 다음 실행을 선택합니다.

<master key password>를 강력한 비밀번호로 바꾸고 DMK와 비밀번호 사본을 모두 안전한 곳에 보관합니다.

USE master;
GO

CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<master key password>';
GO

백업 인증서 만들기

master 데이터베이스에 백업 인증서를 만듭니다. 다음 예시를 복사하여 쿼리 창에 붙여넣고 실행을 선택합니다.

Use master;
GO

CREATE CERTIFICATE MyTestDBBackupEncryptCert
    WITH SUBJECT = 'MyTestDB Backup Encryption Certificate';
GO

암호화를 사용하여 데이터베이스 백업

암호화된 백업을 만들기 위한 두 가지 기본 옵션이 있습니다.

  • 디스크에 백업
  • Azure Storage에 백업

다음 단계에 따라 로컬 디스크에 데이터베이스의 암호화된 백업을 만들 수 있습니다. 이 예시에서는 MyTestDB라는 사용자 데이터베이스를 사용합니다.

사용할 암호화 알고리즘 및 인증서를 지정합니다. 다음 예시를 복사하여 쿼리 창에 붙여넣고 실행을 선택합니다.

<path_to_local_backup>을(를) SQL Server에 쓰기 권한이 있는 로컬 경로로 바꿉니다. 예를 들어, 이 경로는 D:\SQLBackup일 수 있습니다.

BACKUP DATABASE [MyTestDB]
TO DISK = N'<path_to_local_backup>\MyTestDB.bak'
WITH
COMPRESSION,
ENCRYPTION (
    ALGORITHM = AES_256,
    SERVER CERTIFICATE = MyTestDBBackupEncryptCert
),
STATS = 10;
GO

EKM(확장 가능한 키 관리)으로 보호되는 백업을 암호화하는 예는 Azure Key Vault를 사용한 확장 가능한 키 관리(SQL Server)를 참조하세요.