CREATE MASTER KEY (Transact-SQL)

Cria uma chave mestra de banco de dados.

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

Sintaxe

CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'password'

Argumentos

  • PASSWORD ='password'
    É a senha usada para criptografar a chave mestra no banco de dados. A password deve atender aos requisitos da política de senha do Windows do computador que está executando a instância do SQL Server.

Comentários

A chave mestra do banco de dados é uma chave simétrica usada para proteger as chaves privadas dos certificados e as chaves assimétricas presentes no banco de dados. Quando é criada, a chave mestra é criptografada com o algoritmo AES_256 e uma senha fornecida pelo usuário. Para permitir a descriptografia automática da chave mestra, uma cópia da chave é criptografada por meio da chave mestra de serviço e armazenada no banco de dados e no master. Normalmente, a cópia armazenada no master é silenciosamente atualizada sempre que a chave mestra é alterada. Esse padrão pode ser alterado com a opção DROP ENCRYPTION BY SERVICE MASTER KEY de ALTER MASTER KEY. Uma chave mestra não criptografada pela chave mestra de serviço deve ser aberta com a instrução OPEN MASTER KEY e uma senha.

A coluna is_master_key_encrypted_by_server da exibição do catálogo sys.databases no master indica se a chave mestra do banco de dados é criptografada pela chave mestra do serviço.

Informações sobre a chave mestra do banco de dados são visíveis na exibição do catálogo sys.symmetric_keys.

Observação importanteImportante

Faça o backup da chave mestra usando BACKUP MASTER KEY e armazene-o em um local seguro e externo.

A chave mestra de serviço e as chaves mestras de banco de dados são protegidas pelo algoritmo AES-256.

Permissões

Exige a permissão CONTROL no banco de dados.

Exemplos

O exemplo a seguir cria uma chave mestra para o banco de dados AdventureWorks2012. A chave é criptografada usando a senha 23987hxJ#KL95234nl0zBe.

USE AdventureWorks2012;
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '23987hxJ#KL95234nl0zBe';
GO

Consulte também

Referência

sys.symmetric_keys (Transact-SQL)

sys.databases (Transact-SQL)

OPEN MASTER KEY (Transact-SQL)

ALTER MASTER KEY (Transact-SQL)

DROP MASTER KEY (Transact-SQL)

CLOSE MASTER KEY (Transact-SQL)

Conceitos

Hierarquia de criptografia