암호화된 백업 만들기

적용 대상:SQL Server

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

암호화하여 디스크에 백업

필수 구성 요소:

  • 데이터베이스 백업을 만들 수 있는 충분한 공간이 있는 로컬 디스크 또는 스토리지에 액세스합니다.

  • master 데이터베이스에 대한 데이터베이스 마스터 키와 SQL Server 인스턴스에서 사용할 수 있는 인증서 또는 비대칭 키입니다. 암호화 요구 사항과 사용 권한에 대한 자세한 내용은 Backup Encryption를 참조하십시오.

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

  1. master 데이터베이스의 데이터베이스 마스터 키 만들기: 데이터베이스에 저장할 마스터 키의 사본을 암호화하기 위한 비밀번호를 선택합니다. 데이터베이스 엔진에 연결하고 새 쿼리 창을 시작한 다음 아래의 예를 복사하여 붙여 넣고 실행을 클릭합니다.

    -- Creates a database master key.   
    -- The key is encrypted using the password "<master key password>"  
    USE master;  
    GO  
    CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<master key password>';  
    GO  
    
    
  2. 백업 인증서 만들기: master 데이터베이스에 백업 인증서를 만듭니다. 다음 예를 복사하여 쿼리 창에 붙여 넣고 실행을 클릭합니다.

    Use Master  
    GO  
    CREATE CERTIFICATE MyTestDBBackupEncryptCert  
       WITH SUBJECT = 'MyTestDB Backup Encryption Certificate';  
    GO  
    
    
  3. 데이터베이스 백업: 사용할 암호화 알고리즘 및 인증서를 지정합니다. 다음 예를 복사하여 쿼리 창에 붙여 넣고 실행을 클릭합니다.

    BACKUP DATABASE [MyTestDB]  
    TO DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Backup\MyTestDB.bak'  
    WITH  
      COMPRESSION,  
      ENCRYPTION   
       (  
       ALGORITHM = AES_256,  
       SERVER CERTIFICATE = MyTestDBBackupEncryptCert  
       ),  
      STATS = 10  
    GO
    

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

암호화를 사용하여 Azure Storage에 백업

URL에 대한 SQL Server 백업 옵션을 사용하여 Azure Storage에 백업을 만드는 경우 암호화 단계는 동일하지만, 대상에 URL을 사용하고 Azure Storage에 인증하려면 SQL 자격 증명을 사용해야 합니다. 암호화 옵션을 사용하여 Microsoft Azure에 대한 SQL Server 관리 백업을 구성하려면 Microsoft Azure에 대한 SQL Server 관리 백업 사용 설정을 참조하세요.

필수 구성 요소:

  • Windows 스토리지 계정 및 컨테이너 자세한 내용은 참조하세요. 1단원: Azure 저장소 개체 만들기.

  • master 데이터베이스에 대한 데이터베이스 마스터 키와 SQL Server 인스턴스에 대한 인증서 또는 비대칭 키입니다. 암호화 요구 사항과 사용 권한에 대한 자세한 내용은 Backup Encryption를 참조하십시오.

  1. SQL Server 자격 증명 만들기: SQL Server 자격 증명을 만들려면 데이터베이스 엔진에 연결하여 새 쿼리 창을 열고 다음 예시를 복사하여 붙여 넣고 실행을 클릭합니다.

    CREATE CREDENTIAL mycredential   
    WITH IDENTITY= 'mystorageaccount' - this is the name of the storage account you specified when creating a storage account    
    , SECRET = '<storage account access key>' - this should be either the Primary or Secondary Access Key for the storage account  
    
  2. 데이터베이스 마스터 키 만들기: 데이터베이스에 저장할 마스터 키의 사본을 암호화하기 위한 비밀번호를 선택합니다. 데이터베이스 엔진에 연결하고 새 쿼리 창을 시작한 다음 아래의 예를 복사하여 붙여 넣고 실행을 클릭합니다.

    -- Creates a database master key.  
    -- The key is encrypted using the password "<master key password>"  
    USE Master;  
    GO  
    CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<master key password>';  
    GO  
    
    
  3. 백업 인증서 만들기: master 데이터베이스에서 백업 인증서를 만듭니다. 쿼리 창의 다음 예를 복사하여 붙여 넣고 실행을 클릭합니다.

    USE Master;  
    GO  
    CREATE CERTIFICATE MyTestDBBackupEncryptCert  
       WITH SUBJECT = 'MyTestDBBackupEncryptCert ';  
    GO  
    
    
  4. 데이터베이스 백업: 사용할 암호화 알고리즘 및 인증서를 지정합니다. 다음 예를 복사하여 쿼리 창에 붙여 넣고 실행을 클릭합니다.

    BACKUP DATABASE [MyTestDB]  
    TO URL = N'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Backup\MyTestDB.bak'  
    WITH  
      CREDENTIAL 'mycredential' - this is the name of the credential created in the first step.  
      ,COMPRESSION  
      ,ENCRYPTION   
       (  
       ALGORITHM = AES_256,  
       SERVER CERTIFICATE = MyTestDBBackupEncryptCert  
       ),  
      STATS = 10  
    GO