ALTER MASTER KEY (Transact-SQL)ALTER MASTER KEY (Transact-SQL)

APLICA-SE A: simSQL Server simBanco de Dados SQL do Azure simSQL Data Warehouse do Azure simParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure SQL Data Warehouse yesParallel Data Warehouse

Altera as propriedades de uma chave mestra do banco de dados.Changes the properties of a database master key.

Ícone de link do tópico Convenções de sintaxe de Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxeSyntax

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

ArgumentosArguments

PASSWORD ='password' Especifica uma senha para criptografia ou descriptografia da chave mestra do banco de dados.PASSWORD ='password' Specifies a password with which to encrypt or decrypt the database master key. A password deve atender aos requisitos da política de senha do Windows do computador que executa a instância do SQL ServerSQL Server.password must meet the Windows password policy requirements of the computer that is running the instance of SQL ServerSQL Server.

RemarksRemarks

A opção REGENERATE recria a chave mestra do banco de dados e todas as chaves protegidas por ela.The REGENERATE option re-creates the database master key and all the keys it protects. As chaves são decifradas primeiro com a chave mestra antiga e depois criptografadas com a nova chave mestra.The keys are first decrypted with the old master key, and then encrypted with the new master key. 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.This resource-intensive operation should be scheduled during a period of low demand, unless the master key has been compromised.

SQL Server 2012 (11.x)SQL Server 2012 (11.x) usa o algoritmo de criptografia AES para proteger a SMK (chave mestra de serviço) e a DMK (chave mestra de banco de dados).uses the AES encryption algorithm to protect the service master key (SMK) and the database master key (DMK). O AES é um algoritmo de criptografia mais novo que o 3DES usado em versões anteriores.AES is a newer encryption algorithm than 3DES used in earlier versions. Depois de atualizar uma instância do Mecanismo de Banco de DadosDatabase Engine para SQL Server 2012 (11.x)SQL Server 2012 (11.x) , o SMK e o DMK devem ser regenerados para atualizar as chave mestras para AES.After upgrading an instance of the Mecanismo de Banco de DadosDatabase Engine to SQL Server 2012 (11.x)SQL Server 2012 (11.x) the SMK and DMK should be regenerated in order to upgrade the master keys to AES. Para obter mais informações sobre como regenerar a SMK, consulte ALTER SERVICE MASTER KEY.For more information about regenerating the SMK, see ALTER SERVICE MASTER KEY.

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.When the FORCE option is used, key regeneration will continue even if the master key is unavailable or the server cannot decrypt all the encrypted private keys. Se a chave mestra não puder ser aberta, use a instrução RESTORE MASTER KEY para restaurar a chave mestra por meio de um backup.If the master key cannot be opened, use the RESTORE MASTER KEY statement to restore the master key from a backup. Use a opção de FORCE somente se a chave mestra for irrecuperável ou se descriptografia falhar.Use the FORCE option only if the master key is irretrievable or if decryption fails. As informações que só são criptografadas por uma chave irrecuperável serão perdidas.Information that is encrypted only by an irretrievable key will be lost.

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.The DROP ENCRYPTION BY SERVICE MASTER KEY option removes the encryption of the database master key by the service master key.

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.ADD ENCRYPTION BY SERVICE MASTER KEY causes a copy of the master key to be encrypted using the service master key and stored in both the current database and in master.

PermissõesPermissions

Exige a permissão CONTROL no banco de dados.Requires CONTROL permission on the database. Se a chave mestra de banco de dados for criptografada com uma senha, o conhecimento dessa senha também será necessário.If the database master key has been encrypted with a password, knowledge of that password is also required.

ExemplosExamples

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.The following example creates a new database master key for AdventureWorks and reencrypts the keys below it in the encryption hierarchy.

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

Exemplos: Azure SQL Data WarehouseAzure SQL Data Warehouse e Parallel Data WarehouseParallel Data WarehouseExamples: Azure SQL Data WarehouseAzure SQL Data Warehouse and Parallel Data WarehouseParallel Data Warehouse

O exemplo a seguir cria uma nova chave mestra de banco de dados para o AdventureWorksPDW2012 e criptografa novamente as chaves abaixo dele na hierarquia de criptografia.The following example creates a new database master key for AdventureWorksPDW2012 and re-encrypts the keys below it in the encryption hierarchy.

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

Consulte TambémSee Also