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. Para criptografar a chave de criptografia do banco de dados com uma chave assimétrica, a chave assimétrica deverá residir em um provedor de gerenciamento de chave extensível.

Comentários

Uma chave de criptografia de banco de dados é exigida para que um banco de dados possa ser criptografado com o uso da TDE (Criptografia de banco de dados transparente). Quando for criptografado de maneira transparente, todo o banco de dados será criptografado no nível de arquivo, sem nenhuma modificação especial de código. 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. Ela 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 dbo (proprietário de banco de dados) é alterado.

Permissões

Requer a permissão CONTROL no banco de dados e a 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.

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

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