Restaurar o banco de dados mestre (Transact-SQL)

Aplica-se a: SQL Server

Este artigo explica como restaurar o banco de dados master de um backup completo de banco de dados.

Aviso

No caso da recuperação de desastres, a instância em que o banco de dados master está sendo restaurado deve estar o mais próxima possível de uma correspondência exata do original. No mínimo, essa instância de recuperação deve ter a mesma versão, edição e nível de patch e deve ter a mesma seleção de recursos e a mesma configuração externa (nome do host, associação do cluster e assim por diante) que a instância original. Caso contrário, poderá ocorrer um comportamento de instância do SQL Server indefinida, com suporte a recursos inconsistente, que não tem garantia de ser viável.

Para restaurar o banco de dados master

  1. Inicie uma instância de servidor no modo de usuário único.

    Você pode iniciar o SQL Server usando os parâmetros de inicialização -m ou -f. Para obter mais informações sobre parâmetros de inicialização, confira Opções de inicialização do serviço Mecanismo de Banco de Dados.

    Em um prompt de comando, execute os seguintes comandos e certifique-se de substituir MSSQLXX.instance pelo nome da pasta apropriada:

    cd C:\Program Files\Microsoft SQL Server\MSSQLXX.instance\MSSQL\Binn
    sqlservr -c -f -s <instance> -mSQLCMD
    
    • O parâmetro -mSQLCMD garante que somente sqlcmd possa se conectar ao SQL Server.
    • Para um nome de instância padrão, use -s MSSQLSERVER
    • -c inicia o SQL Server como um aplicativo para ignorar o Gerenciador de Controle de Serviço a fim de reduzir o tempo de inicialização

    Se a instância do SQL Server não puder ser iniciada devido a um banco de dados master danificado, você deverá recriar os bancos de dados do sistema primeiro. Para obter mais informações, consulte Recriar bancos de dados do sistema.

  2. Conectar-se ao SQL Server usando SQLCMD em outra janela do Prompt de Comando

    SQLCMD -S <instance> -E -d master
    
  3. Para restaurar um backup de banco de dados completo de mestre, use a seguinte instrução RESTORE DATABASE Transact-SQL:

    RESTORE DATABASE master FROM  <backup_device>  WITH REPLACE
    

    A opção REPLACE instrui o SQL Server a restaurar o banco de dados especificado mesmo quando um banco de dados do mesmo nome já existir. O banco de dados existente, se houver, será excluído. Em modo de usuário único, é recomendável inserir a instrução RESTORE DATABASE no utilitário sqlcmd. Para obter mais informações, consulte Usar o Utilitário sqlcmd.

    Importante

    Depois que o mestre é restaurado, a instância do SQL Server é encerrada e o processo sqlcmd é concluído. Antes de reiniciar a instância do servidor, remova o parâmetro de inicialização de usuário único. Para obter mais informações, confira Configurar as opções de inicialização do servidor (SQL Server Configuration Manager).

  4. Reinicie a instância do servidor normalmente como um serviço, sem usar parâmetros de inicialização.

  5. Continue com outras etapas de recuperação, como restaurar outros bancos de dados, anexar bancos de dados e corrigir incompatibilidades de usuários.

Exemplo

O exemplo a seguir restaura o banco de dados master na instância do servidor padrão. O exemplo assume que a instância do servidor já está sendo executada no modo de usuário único. O exemplo inicia o sqlcmd e executa uma instrução RESTORE DATABASE que restaura um backup de banco de dados completo de master de um dispositivo de disco: Z:\SQLServerBackups\master.bak.

Observação

Para uma instância nomeada, o comando sqlcmd deve especificar a opção -S<ComputerName>\<InstanceName>.

C:\> sqlcmd  
1> RESTORE DATABASE master FROM DISK = 'Z:\SQLServerBackups\master.bak' WITH REPLACE;  
2> GO  

Confira também

Restaurações completas de banco de dados (modelo de recuperação simples)
Restaurações completas de banco de dados (modelo de recuperação completa)
Solucionar problemas de usuários órfãos (SQL Server)
Anexar e desanexar bancos de dados (SQL Server)
Recompilar bancos de dados do sistema
Opções de inicialização do serviço Mecanismo de Banco de Dados
SQL Server Configuration Manager
Fazer backup e restaurar bancos de dados do sistema (SQL Server)
RESTORE (Transact-SQL)