ALTER MASTER KEY (Transact-SQL)

Altera as propriedades de uma chave mestra do banco de dados.

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

Sintaxe

ALTER MASTER KEY <alter_option>

<alter_option> ::=
    <regenerate_option> | <encryption_option>

<regenerate_option> ::=
    [ FORCE ] REGENERATE WITH ENCRYPTION BY PASSWORD = 'password'

<encryption_option> ::=
    ADD ENCRYPTION BY { SERVICE MASTER KEY | PASSWORD = 'password' }
    | 
    DROP ENCRYPTION BY { SERVICE MASTER KEY | PASSWORD = 'password' }

Argumentos

  • PASSWORD ='password'
    Especifica uma senha com a qual criptografar ou descriptografar a chave mestra do banco de dados. A password deve atender aos requisitos da diretiva de senha do Windows do computador que está executando a instância do SQL Server.

Comentários

A opção REGENERATE recria a chave mestra do banco de dados e todas as chaves protegidas por ela. As chaves são decifradas primeiro com a chave mestra antiga e depois criptografadas com a nova chave mestra. Essa operação de uso intensivo de recursos deve ser agendada durante um período de baixa demanda, a menos que a chave mestra esteja comprometida.

Quando a opção FORCE é usada, a regeneração de chave continuará mesmo que a chave mestra não esteja disponível ou o servidor não possa descriptografar todas as chaves privadas criptografadas. Se a chave mestra não puder ser aberta, use a instrução RESTORE MASTER KEY para restaurar a chave mestra de um backup. Use a opção de FORCE somente se a chave mestra for irrecuperável ou se descriptografia falhar. As informações que só são criptografadas por uma chave irrecuperável serão perdidas.

A opção DROP ENCRYPTION BY SERVICE MASTER KEY remove a criptografia da chave mestra de banco de dados através da chave mestra de serviço.

ADD ENCRYPTION BY SERVICE MASTER KEY faz com que uma cópia da chave mestra seja criptografada usando a chave mestra de serviço e armazenada no banco de dados atual e mestre.

Permissões

Requer a permissão CONTROL no banco de dados. Se a chave mestra de banco de dados for criptografada com uma senha, o conhecimento dessa senha também será necessário.

Exemplos

O exemplo a seguir cria uma nova chave mestra de banco de dados para a AdventureWorks e criptografa novamente as chaves abaixo dela na hierarquia de criptografia.

USE AdventureWorks;
ALTER MASTER KEY REGENERATE WITH ENCRYPTION BY PASSWORD = 'dsjdkflJ435907NnmM#sX003';
GO

Histórico de alterações

Conteúdo atualizado

Foi corrigida a seção <encryption_option> na sintaxe para usar chaves {} em vez de colchetes [].