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).
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)
Chaves de criptografia do SQL Server e banco de dados (Mecanismo de Banco de Dados)