ALTER SERVICE MASTER KEY (Transact-SQL)

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

Ícone de vínculo de tópico Convenções da sintaxe 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' }

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, consulte 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.

    Observação sobre cuidadosCuidado

    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.

    Observação sobre cuidadosCuidado

    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.

    Observação sobre cuidadosCuidado

    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.

    Observação sobre cuidadosCuidado

    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.

O SQL Server 2012 usa o algoritmo de criptografia AES para proteger a chave mestra de serviço (SMK) e a chave mestra de 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 a DMK devem ser regenerados para atualizar as chaves mestras para AES. Para obter mais informações sobre a regeneração da DMK, consulte ALTER MASTER KEY (Transact-SQL).

Alterando a conta de serviço do SQL Server

Para alterar a conta de serviço SQL Server, 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 de máquina que tem as permissões necessárias concedida ao grupo de serviço SQL Server. Se o computador for reconstruído, o mesmo usuário de domínio que previamente foi usado pela conta de serviço poderá recuperar a chave mestra de serviço. Isto não funciona com contas locais ou com o Sistema Local, com o Serviço Local ou com 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.

Observação sobre cuidadosCuidado

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

Requer 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

Referência

RESTORE SERVICE MASTER KEY (Transact-SQL)

BACKUP SERVICE MASTER KEY (Transact-SQL)

Conceitos

Hierarquia de criptografia