Для резервных копий основополагающим требованием является обеспечение защиты данных от аппаратных сбоев и пр. Однако данные в резервной копии могут быть конфиденциальными, поэтому необходимо убедиться, что носитель резервных копий защищен от несанкционированного доступа. В большинстве организаций это может быть выполнено путем хранения носителей резервных копий в местах с защищенной файловой системой.
В ситуации, когда данные в резервной копии требуют дополнительной безопасности, можно шифровать резервные копии таким образом, чтобы они могли быть восстановлены только на экземпляре SQL Server, содержащем ключ шифрования. Резервное копирование с шифрованием в SQL Server основывается на алгоритмах стандарта шифрования, включая AES 128, AES 192, AES 256 и Triple DES. Для шифрования резервной копии необходимо указать алгоритм, который вы хотите использовать, и сертификат (или асимметричный ключ), который может использоваться для шифрования данных.
Чтобы использовать шифрование резервных копий:
Создайте главный ключ базы данных в базе данных master. Это симметричный ключ, который используется для защиты всех других ключей шифрования и сертификатов в базе данных.
Создайте сертификат или асимметричный ключ для шифрования резервной копии. Можно создать сертификат или асимметричный ключ в экземпляре ядра базы данных SQL Server с помощью оператора CREATE CERTIFICATE или CREATE ASYMMETRIC KEY. Обратите внимание, что асимметричные ключи должны находиться в поставщике расширенного управления ключами (EKM).
Выполняйте резервное копирование с помощью параметра ENCRYPTION (или выбор шифрования в диалоговом окне Резервное копирование базы данных), а также с указанием алгоритма и сертификата (или асимметричного ключа), который будет использоваться. При использовании диалогового окна резервного копирования, необходимо выбрать опцию для резервного копирования на новый набор носителей.
Необходимо создать резервную копию мастер-ключа и ключей шифрования в безопасном месте (отдельно от расположения носителя резервного копирования), чтобы вы могли восстановить базу данных на другой экземпляр SQL Server в случае полного отказа сервера.
Следующий пример кода создает резервную копию базы данных AdventureWorks с использованием алгоритма шифрования AES 128 и сертификата BackupCert:
BACKUP DATABASE AdventureWorks
TO DISK = 'R:\Backups\AW_Encrypt,bak' WITH FORMAT, INIT,
ENCRYPTION( ALGORITHM=AES_128,
SERVER CERTIFICATE = [BackupCert])
МожносоздаватьзашифрованныерезервныекопиитольковвыпускахEnterprise,BusinessIntelligenceиStandardEditionsSQLServer2014,авосстанавливать в любомвыпускеSQL Server2014.