Partilhar via


Restaurar a chave mestra de um banco de dados

Aplica-se a: SQL Server

Este tópico descreve como restaurar a chave mestra de banco de dados no SQL Server usando o Transact-SQL.

Antes de começar

Limitações e restrições

  • Quando a chave mestra é restaurada, o SQL Server descriptografa todas as chaves atualmente criptografadas com a chave mestra ativa e criptografa essas chaves com a chave mestra restaurada. Essa operação de uso intensivo de recursos deve ser agendada em um período de baixa demanda. Se a chave mestra do banco de dados atual não estiver aberta ou não puder ser aberta ou se qualquer uma das chaves criptografadas por ela não puder ser descriptografada, a operação de restauração falhará.

  • Se qualquer uma dessas descriptografias falhar, a restauração falhará. É possível usar a opção FORCE para ignorar erros, mas essa opção causará a perda dos dados que não puderem ser descriptografados.

  • Se a chave mestra foi criptografada pela chave mestra de serviço, a chave mestra restaurada também será criptografada pela chave mestra de serviço.

  • Se não houver nenhuma chave mestra no banco de dados atual, RESTORE MASTER KEY criará uma chave mestra. A nova chave mestra não será criptografada automaticamente com a chave mestra de serviço.

Segurança

Permissões

Exige a permissão CONTROL no banco de dados.

Usando o SQL Server Management Studio com o Transact-SQL

Para restaurar a chave mestra de banco de dados

  1. Recupere uma cópia do backup da chave mestra de banco de dados de uma mídia de backup física ou de um diretório no sistema de arquivos local.

  2. No Pesquisador de Objetos, conecte-se a uma instância do Mecanismo de Banco de Dados.

  3. Na barra Padrão, clique em Nova Consulta.

  4. Copie e cole o exemplo a seguir na janela de consulta e clique em Executar.

    -- Restores the database master key of the AdventureWorks2022 database.  
    USE AdventureWorks2022;  
    GO  
    RESTORE MASTER KEY   
        FROM FILE = 'c:\backups\keys\AdventureWorks2022_master_key'   
        DECRYPTION BY PASSWORD = '3dH85Hhk003#GHkf02597gheij04'   
        ENCRYPTION BY PASSWORD = '259087M#MyjkFkjhywiyedfgGDFD';  
    GO  
    

    Observação

    O caminho do arquivo para a chave e a senha da chave (se existir) serão diferentes do que é indicado acima. Certifique-se de que ambos sejam específicos da sua configuração de servidor e chave.

Confira também