Partilhar via


ALTER CHAVE MESTRA (Transact-SQL)

Aplica-se a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSistema de Plataforma de Análise (PDW)Base de dados SQL no Microsoft Fabric

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

Transact-SQL convenções de sintaxe

Syntax

Sintaxe do SQL Server

-- 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' }

Sintaxe para Azure SQL Database e base de dados SQL no Microsoft Fabric

-- 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' }

Sintaxe do Azure Synapse Analytics and Analytics Platform System (PDW)

-- Syntax for Azure Synapse Analytics and Analytics Platform System

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

Arguments

PASSWORD ='senha'

Especifica uma senha com a qual criptografar ou descriptografar a 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 do SQL Server.

Remarks

A opção REGENERATE recria a chave mestra do banco de dados e todas as chaves que ela protege. As chaves são primeiro desencriptadas com a chave mestra antiga e, em seguida, encriptadas com a nova chave mestra. Essa operação com uso intensivo de recursos deve ser programada durante um período de baixa demanda, a menos que a chave mestra seja comprometida.

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

Quando a opção FORCE é usada, a regeneração de chaves continua mesmo se a chave mestra não estiver disponível ou se o servidor não puder 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 a partir de um backup. Use a opção FORCE apenas se a chave mestra for irrecuperável ou se a desencriptação falhar. As informações encriptadas apenas por uma chave irrecuperável são perdidas.

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

A DROP ENCRYPTION BY SERVICE MASTER KEY não tem suporte no Banco de Dados SQL do Azure.

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 no mestre.

Permissions

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

Examples

O exemplo a seguir cria uma nova chave mestra de banco de dados e AdventureWorks criptografa novamente as chaves abaixo dela na hierarquia de criptografia. Substitua <secure password> por uma senha forte e exclusiva.

USE AdventureWorks2022;
ALTER MASTER KEY REGENERATE WITH ENCRYPTION BY PASSWORD = '<secure password>';
GO

Exemplos: Azure Synapse Analytics and Analytics Platform System (PDW)

O exemplo a seguir cria uma nova chave mestra de banco de dados e AdventureWorksPDW2012 criptografa novamente as chaves abaixo dela na hierarquia de criptografia. Substitua <secure password> por uma senha forte e exclusiva.

USE master;
ALTER MASTER KEY REGENERATE WITH ENCRYPTION BY PASSWORD = '<secure password>';
GO