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


CREATE DATABASE ENCRYPTION KEY (Transact-SQL)

Создает ключ шифрования, используемый для прозрачного шифрования базы данных. Дополнительные сведения о прозрачном шифровании баз данных см. в разделе Прозрачное шифрование данных (TDE).

Применимо для следующих объектов: SQL Server (начиная с SQL Server 2008 до текущей версии).

Значок ссылки на раздел Синтаксические обозначения в Transact-SQL

Синтаксис

CREATE DATABASE ENCRYPTION KEY
       WITH ALGORITHM = { AES_128 | AES_192 | AES_256 | TRIPLE_DES_3KEY }
   ENCRYPTION BY SERVER 
    {
        CERTIFICATE Encryptor_Name |
        ASYMMETRIC KEY Encryptor_Name
    }
[ ; ]

Аргументы

  • WITH ALGORITHM = { AES_128 | AES_192 | AES_256 | TRIPLE_DES_3KEY }
    Определяет алгоритм шифрования, который используется для ключа шифрования.

  • ENCRYPTION BY SERVER CERTIFICATE Encryptor_Name
    Имя шифратора, используемого для шифрования ключа шифрования базы данных.

  • ENCRYPTION BY SERVER ASYMMETRIC KEY Encryptor_Name
    Указывает имя асимметричного ключа, используемого для шифрования ключа шифрования базы данных. Чтобы зашифровать ключ шифрования базы данных с помощью асимметричного ключа, используемый асимметричный ключ должен находиться в поставщике расширенного управления ключами.

Замечания

Прежде чем зашифровать базу данных с помощью Прозрачного шифрования базы данных (TDE), необходимо создать ключ шифрования базы данных. При выполнении прозрачного шифрования базы данных вся база данных шифруется на уровне файлов без каких-либо специальных изменений кода. Сертификат или асимметричный ключ, который используется для шифрования ключа шифрования базы данных, должен находиться в системной базе данных master.

Инструкции шифрования базы данных разрешены только для пользовательских баз данных.

Ключ шифрования базы данных нельзя экспортировать из базы данных. Он доступен только для системы, пользователей, имеющих разрешение на отладку на сервере, и пользователей, имеющих доступ к сертификатам, с использованием которых выполняется шифрование и расшифровка ключа шифрования базы данных.

Нет необходимости повторно создавать ключ шифрования базы данных, когда меняется владелец базы данных (dbo).

Разрешения

Требуется разрешение CONTROL на базу данных и разрешение VIEW DEFINITION на сертификат или асимметричный ключ, используемый при шифровании ключа шифрования базы данных.

Примеры

Дополнительные примеры использования прозрачного шифрования данных см. в разделах Прозрачное шифрование данных (TDE) и Включение прозрачного шифрования данных с использованием расширенного управления ключами.

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

USE AdventureWorks2012;
GO
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = AES_256
ENCRYPTION BY SERVER CERTIFICATE MyServerCert;
GO

См. также

Справочник

Параметры ALTER DATABASE SET (Transact-SQL)

ALTER DATABASE ENCRYPTION KEY (Transact-SQL)

DROP DATABASE ENCRYPTION KEY (Transact-SQL)

sys.dm_database_encryption_keys (Transact-SQL)

Основные понятия

Прозрачное шифрование данных (TDE)

Шифрование SQL Server

Ключи шифрования базы данных и SQL Server (компонент Database Engine)

Иерархия средств шифрования