Partilhar via


CREATE DATABASE ENCRYPTION KEY (Transact-SQL)

Cria uma chave de criptografia que é usada para criptografar um banco de dados de maneira transparente. Para obter mais informações sobre criptografia de banco de dados transparente, consulte Compreendendo a TDE (Criptografia de Dados Transparente).

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

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
    }
[ ; ]

Argumentos

  • WITH ALGORITHM = { AES_128 | AES_192 | AES_256 | TRIPLE_DES_3KEY }
    Especifica o algoritmo de criptografia usado para a chave de criptografia.

  • ENCRYPTION BY SERVER CERTIFICATE Encryptor_Name
    Especifica o nome do criptografador usado para criptografar a chave de criptografia do banco de dados.

  • ENCRYPTION BY SERVER ASYMMETRIC KEY Encryptor_Name
    Especifica o nome da chave assimétrica usada para criptografar a chave de criptografia do banco de dados.

Comentários

Uma chave de criptografia de banco de dados é exigida para um banco de dados ser criptografado com o uso da Criptografia de banco de dados transparente (TDE). Quando for criptografado de maneira transparente, todo o banco de dados será criptografado no nível de arquivo, sem nenhuma modificação de código especial. O certificado ou a chave assimétrica usados para criptografar a chave de criptografia de banco de dados devem estar localizados no banco de dados do sistema master.

As instruções de criptografia de banco de dados são permitidas apenas em bancos de dados de usuários.

A chave de criptografia de banco de dados não pode ser exportada do banco de dados. Está disponível apenas para o sistema, para usuários com permissões de depuração no servidor e para usuários com acesso aos certificados que criptografam e descriptografam a chave de criptografia de banco de dados.

A chave de criptografia de banco de dados não precisa ser gerada novamente quando um proprietário de banco de dados (dbo) é alterado.

Permissões

Requer permissão CONTROL no banco de dados e permissão VIEW DEFINITION na chave assimétrica ou no certificado usado para criptografar a chave de criptografia do banco de dados.

Exemplos

Para obter exemplos adicionais que usam TDE, consulte Compreendendo a TDE (Criptografia de Dados Transparente) e Como habilitar a TDE usando EKM.

A. Criando uma chave de criptografia de banco de dados

O exemplo a seguir cria uma chave de criptografia de banco de dados usando o algoritmo AES_256 e protege a chave privada com um certificado denominado MyServerCert.

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