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
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.- O parâmetro
Conectar-se ao SQL Server usando SQLCMD em outra janela do Prompt de Comando
SQLCMD -S <instance> -E -d master
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).
Reinicie a instância do servidor normalmente como um serviço, sem usar parâmetros de inicialização.
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)