ALTER SERVICE MASTER KEY (Transact-SQL)

Aplica-se a:SQL ServerInstância Gerenciada de SQL do Azure

Altera a chave mestra de serviço de uma instância do SQL Server.

Convenções de sintaxe de Transact-SQL

Sintaxe

ALTER SERVICE MASTER KEY   
    [ { <regenerate_option> | <recover_option> } ] [;]  
  
<regenerate_option> ::=  
    [ FORCE ] REGENERATE  
  
<recover_option> ::=  
    { WITH OLD_ACCOUNT = 'account_name' , OLD_PASSWORD = 'password' }  
    |      
    { WITH NEW_ACCOUNT = 'account_name' , NEW_PASSWORD = 'password' }  

Observação

Para exibir a sintaxe do Transact-SQL para o SQL Server 2014 (12.x) e versões anteriores, confira a Documentação das versões anteriores.

Argumentos

FORCE
Indica que a chave mestra de serviço deve ser regenerada, mesmo com o risco de perda de dados. Para obter mais informações, veja Alterando a conta de serviço do SQL Server mais adiante neste tópico.

REGENERE
Indica que a chave mestra de serviço deve ser gerada novamente.

OLD_ACCOUNT ='account_name'
Especifica o nome da antiga conta de serviço do Windows.

Aviso

Essa opção está obsoleta. Não use. Use o SQL Server Configuration Manager.

OLD_PASSWORD ='password'
Especifica o nome da antiga senha de serviço do Windows.

Aviso

Essa opção está obsoleta. Não use. Use o SQL Server Configuration Manager.

NEW_ACCOUNT ='account_name'
Especifica o nome da nova conta de serviço do Windows.

Aviso

Essa opção está obsoleta. Não use. Use o SQL Server Configuration Manager.

NEW_PASSWORD ='password'
Especifica o nome da nova senha de serviço do Windows.

Aviso

Essa opção está obsoleta. Não use. Use o SQL Server Configuration Manager.

Comentários

A chave mestra de serviço é gerada automaticamente na primeira vez que é necessária para criptografar a senha, as credenciais ou a chave mestra de banco de dados de um servidor vinculado. A chave mestra de serviço que usa a chave da máquina local ou a API de Proteção de Dados do Windows é criptografada. Essa API usa uma chave que é derivada das credenciais do Windows da conta de serviço do SQL Server.

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). 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 (11.x) , o SMK e o DMK devem ser regenerados para atualizar as chave mestras para AES. Para obter mais informações sobre como regenerar a DMK, veja ALTER MASTER KEY (Transact-SQL).

Alterando a conta de serviço do SQL Server

Para alterar a conta de serviço do SQL Server Configuration Manager, use o SQL Server Configuration Manager. Para gerenciar uma alteração da conta de serviço, o SQL Server armazena uma cópia redundante da chave mestra de serviço protegida pela conta do computador que tem as permissões necessárias concedidas ao grupo de serviços do SQL Server. Se o computador for recriado, o mesmo usuário de domínio que foi usado anteriormente pela conta de serviço poderá recuperar a chave mestra de serviço. Isso não funciona com contas locais nem com o Sistema Local, o Serviço Local ou as contas de Serviço de Rede. Quando estiver movendo o SQL Server para outro computador, migre a chave mestra de serviço usando backup e restauração.

A frase REGENERATE gera a chave mestra de serviço novamente. Quando a chave mestra de serviço é gerada novamente, o SQL Server descriptografa todas as chaves que foram criptografadas com ela e, em seguida, as criptografa com a nova chave mestra de serviço. Essa operação utiliza muitos recursos. É recomendável agendar essa operação em um período de baixa demanda, a menos que a chave esteja comprometida. Se qualquer uma das descriptografias falhar, a instrução inteira falhará.

A opção FORCE faz com que a o processo de gerar novamente a chave continue mesmo que não possa recuperar a chave mestra atual ou não possa descriptografar todas as chaves particulares criptografadas com ela. Use FORCE somente se a nova geração falhar e não for possível restaurar a chave mestra de serviço usando a instrução RESTORE SERVICE MASTER KEY.

Cuidado

A chave mestra de serviço é a raiz da hierarquia de criptografia do SQL Server . Ela protege todas as outras chaves e segredos diretamente ou indiretamente na árvore. Se uma chave dependente não puder ser descriptografada durante uma nova geração forçada, os dados que ela protege serão perdidos.

Se você mover a SQL para outro computador, deverá usar a mesma conta de serviço para descriptografar o SMK – o SQL Server corrigirá a criptografia da conta de computador automaticamente.

Permissões

Exige a permissão CONTROL SERVER no servidor.

Exemplos

O exemplo a seguir gera a chave mestra de serviço novamente.

ALTER SERVICE MASTER KEY REGENERATE;  
GO  

Consulte Também

RESTORE SERVICE MASTER KEY (Transact-SQL)
BACKUP SERVICE MASTER KEY (Transact-SQL)
Hierarquia de criptografia