Compartilhar via


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. Fazer o contrário pode resultar em um comportamento de instância indefinido do SQL Server, com suporte a recursos inconsistentes, e não é garantido que seja viável.

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, consulte as opções de inicialização do Serviço do 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 -mSQLCMD parâmetro garante que somente o 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 Recompilar bancos de dados do sistema.

  2. Conecte-se ao SQL Server usando sqlcmd a partir de outra janela do prompt de comando:

    sqlcmd -S <instance> -E -d master
    
  3. Para restaurar um backup completo do banco de masterdados, use a seguinte instrução RESTORE StatementsTransact-SQL:

    RESTORE DATABASE master FROM <backup_device> WITH REPLACE;
    

    A REPLACE opção instrui o SQL Server a restaurar o banco de dados especificado mesmo quando já existe um banco de dados com o mesmo nome. O banco de dados existente, se houver, será excluído. No modo de usuário único, recomendamos que você insira a instrução RESTORE DATABASE no utilitário sqlcmd. Para obter mais informações, consulte Usar sqlcmd.

    Importante

    Depois que master for restaurada, a instância do SQL Server é desligada e encerra o processo sqlcmd. Antes de reiniciar a instância do servidor, remova o parâmetro de inicialização de usuário único. Para obter mais informações, consulte o SQL Server Configuration Manager: Configurar opções de inicialização do servidor.

  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.

Exemplos

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 sqlcmd e executa uma RESTORE DATABASE instrução que restaura um backup completo do banco de dados de um dispositivo de disco: master.

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

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