ALTER MASTER KEY (Transact-SQL)

 

Publicado: dezembro de 2016

ESTE TÓPICO APLICA-SE A:simSQL Server (a partir do 2008)simBanco de Dados SQL do AzuresimAzure SQL Data Warehouse simParallel Data Warehouse

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

Topic link icon Convenções de sintaxe Transact-SQL

-- Syntax for SQL Server  
  
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' }  

-- Syntax for Azure SQL Database
-- Note: DROP ENCRYPTION BY SERVICE MASTER KEY is not supported on Azure SQL Database.
  
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 { PASSWORD = 'password' }  

-- Syntax for Azure SQL Data Warehouse and Parallel Data Warehouse  
  
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   
    |   
    DROP ENCRYPTION BY SERVICE MASTER KEY  

SENHA ='senha'
Especifica uma senha com criptografia ou descriptografia da chave mestra do banco de dados. senha deve atender aos requisitos de diretiva de senha do Windows do computador que está executando a instância de SQL Server.

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.

SQL Server 2012usa o algoritmo de criptografia AES para proteger a chave mestra de serviço (SMK) e a chave mestra do banco de dados (DMK). O AES é um algoritmo de criptografia mais novo que o 3DES usado em versões anteriores. Depois de atualizar uma instância do Mecanismo de Banco de Dados para SQL Server 2012 o SMK e o DMK devem ser regenerados para atualizar as chaves mestras para AES. Para obter mais informações sobre a regeneração do SMK, consulte ALTER SERVICE MASTER KEY (Transact-SQL).

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 pode ser aberta, use o RESTORE MASTER KEY instrução 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.

Exige 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.

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 AdventureWorks2012;  
ALTER MASTER KEY REGENERATE WITH ENCRYPTION BY PASSWORD = 'dsjdkflJ435907NnmM#sX003';  
GO  

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

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

CRIAR chave MESTRA (Transact-SQL)
OPEN MASTER KEY (Transact-SQL)
Fechar MASTER KEY (Transact-SQL)
BACKUP MASTER KEY (Transact-SQL)
RESTORE MASTER KEY (Transact-SQL)
DROP MASTER KEY (Transact-SQL)
Hierarquia de criptografia
Criar banco de dados (SQL Server Transact-SQL)
Banco de dados desanexar e anexar (SQL Server)

Contribuições da comunidade

ADICIONAR
Mostrar: