Поделиться через


Создание зашифрованной резервной копии

В этом разделе описаны шаги, необходимые для создания зашифрованной резервной копии с помощью Transact-SQL.

Резервное копирование на диск с помощью шифрования

Необходимые условия:

  • Доступ к локальному диску или хранилищу с достаточным пространством для создания резервной копии базы данных.

  • Главный ключ базы данных для базы данных "master", а также сертификат или асимметричный ключ, доступные в экземпляре SQL Server. Требования к шифрованию и разрешения см. в разделе "Шифрование резервных копий".

Выполните следующие шаги, чтобы создать зашифрованную резервную копию базы данных на локальном диске. В этом примере используется пользовательская база данных с именем 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\MSSQL12.MSSQLSERVER\MSSQL\Backup\MyTestDB.bak'  
    WITH  
      COMPRESSION,  
      ENCRYPTION   
       (  
       ALGORITHM = AES_256,  
       SERVER CERTIFICATE = MyTestDBBackupEncryptCert  
       ),  
      STATS = 10  
    GO  
    
    

Пример шифрования резервной копии, защищенной EKM, см. в разделе "Расширяемое управление ключами" с помощью Azure Key Vault (SQL Server).

Резервное копирование в службу хранилища Azure с помощью шифрования

Если вы создаете резервную копию в хранилище Azure с помощью параметра резервного копирования SQL Server по URL-адресу , то шаги шифрования одинаковы, но необходимо использовать URL-адрес в качестве назначения и учетные данные SQL для проверки подлинности в хранилище Azure. Если вы хотите настроить управляемое резервное копирование SQL Server в Microsoft Azure с параметрами шифрования, см. статью "Настройка управляемогорезервного копирования SQL Server в Azure" и настройка управляемого резервного копирования SQL Server в Azure для групп доступности.

Необходимые условия:

  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\MSSQL12.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