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

Применимо к:SQL Server

В этой статье описаны действия, необходимые для создания зашифрованной резервной копии с помощью Transact-SQL. Пример использования СРЕДЫ SQL Server Management Studio см. в статье "Создание полной резервной копии базы данных".

Внимание

Чтобы восстановить зашифрованную базу данных, потребуется доступ к сертификату или асимметричному ключу, использовавшемуся для шифрования этой базы данных. Без сертификата или асимметричного ключа вы не сможете восстановить базу данных. Сохраняйте сертификат, который использовали для шифрования ключа шифрования базы данных, в течение всего периода хранения резервной копии. Дополнительные сведения см. в статье SQL Server Certificates and Asymmetric Keys.

Необходимые компоненты

  • служба хранилища для зашифрованной резервной копии. В зависимости от выбранного варианта один из следующих вариантов:

    • Локальный диск или хранилище с достаточным пространством для создания резервной копии базы данных.
    • Учетная запись служба хранилища Azure и контейнер. Дополнительные сведения см. в разделе Создание учетной записи хранения.
  • Главный ключ базы данных (DMK) для master базы данных, а также сертификат или асимметричный ключ экземпляра 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

Выполните следующие шаги, чтобы создать зашифрованную резервную копию базы данных на локальном диске. В этом примере используется вызываемая 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).