Partilhar via


Restaurar o banco de dados mestre (Transact-SQL)

Aplica-se a:SQL Server

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

Advertência

No caso de recuperação de desastres, a instância para a qual o banco de dados master está sendo restaurado deve ser o mais próxima possível de uma correspondência exata com o 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 ao cluster e assim por diante) que a instância original. Fazer o contrário pode resultar em um comportamento indefinido da instância do SQL Server, com suporte a recursos inconsistente, e não é garantido que seja viável.

Restaurar o banco de dados master

  1. Inicie a instância do 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 Opções de inicialização do Serviço Mecanismo de Banco de Dados.

    Em um prompt de comando, execute os seguintes comandos e substitua MSSQLXX.instance pelo nome da pasta apropriado:

    cd C:\Program Files\Microsoft SQL Server\MSSQLXX.instance\MSSQL\Binn
    sqlservr -c -f -s <instance> -mSQLCMD
    
    • O parâmetro -mSQLCMD garante que apenas 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 Service Control Manager para 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á reconstruir os bancos de dados do sistema primeiro. Para obter mais informações, consulte Reconstruir bancos de dados do sistema.

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

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

    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, é excluído. No modo de usuário único, recomendamos que você insira a RESTORE DATABASE instrução no utilitário sqlcmd. Para obter mais informações, consulte Usar sqlcmd.

    Importante

    Depois master de restaurada, a instância do SQL Server é encerrada e encerra o sqlcmd processo. 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 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 nenhum parâmetro de inicialização.

  5. Continue 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 padrão do servidor. O exemplo pressupõe que a instância do servidor já esteja em execução no modo de usuário único. O exemplo inicia o sqlcmd e executa uma RESTORE DATABASE instrução que restaura um backup de banco de dados completo de um dispositivo de master disco: Z:\SQLServerBackups\master.bak.

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

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