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


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

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

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

Предварительные условия.

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

  • Главный ключ базы данных для базы данных 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\MSSQL12.MSSQLSERVER\MSSQL\Backup\MyTestDB.bak'  
    WITH  
      COMPRESSION,  
      ENCRYPTION   
       (  
       ALGORITHM = AES_256,  
       SERVER CERTIFICATE = MyTestDBBackupEncryptCert  
       ),  
      STATS = 10  
    GO  
    
    

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

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

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

Предварительные условия.

  • Учетная запись хранения 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\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