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 Criptografia de Dados Transparente (TDE).

Ícone de vínculo de tópico Convençõ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 de banco de dados com uma chave assimétrica, essa chave deve residir em um provedor de gerenciamento extensível de chaves.

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 Criptografia de Dados Transparente (TDE) e 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 AdventureWorks2012;
GO
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = AES_256
ENCRYPTION BY SERVER CERTIFICATE MyServerCert;
GO

Consulte também

Referência

Opções ALTER DATABASE SET (Transact-SQL)

ALTER DATABASE ENCRYPTION KEY (Transact-SQL)

DROP DATABASE ENCRYPTION KEY (Transact-SQL)

sys.dm_database_encryption_keys (Transact-SQL)

Conceitos

Criptografia de Dados Transparente (TDE)

Criptografia do SQL Server

Chaves de criptografia do SQL Server e banco de dados (Mecanismo de Banco de Dados)

Hierarquia de criptografia