Fazer backup e restaurar bancos de dados do sistema (SQL Server)
Aplica-se a: SQL Server
O SQL Server mantém um conjunto de bancos de dados em nível de sistema, chamado bancos de dados de sistema, que é essencial para a operação de uma instância de servidor. Deve ser feito backup de vários bancos de dados do sistema após cada atualização significativa. Os bancos de dados do sistema que você sempre deve fazer backup incluem msdb
, master
e model
. Se qualquer banco de dados usar replicação na instância de servidor, você também deverá fazer o backup do banco de dados do sistema distribution
. Os backups desses bancos de dados do sistema permitem restaurar e recuperar o sistema SQL Server após uma falha do sistema, como a perda de um dispositivo de armazenamento.
A tabela a seguir resume todos os bancos de dados do sistema.
Banco de dados do sistema | Descrição | É necessário backups? | modelo de recuperação | Comentários |
---|---|---|---|---|
mestre | O banco de dados que registra todas as informações de nível de sistema para um sistema SQL Server. | Sim | Simples | Faça backup do master com a frequência necessária para proteger adequadamente os dados para suas necessidades de negócios. Recomendamos uma agenda regular de backup, que você pode complementar com um backup adicional após uma atualização significativa. Não há suporte para backups de log de transações de master . |
Modelo | O modelo para todos os bancos de dados criados na instância do SQL Server. | Sim | Configurável pelo usuário1 | Faça backup do model somente quando necessário para suas necessidades de negócios; por exemplo, logo após personalizar suas opções de banco de dados.Melhor prática: é recomendável criar somente backups completos de bancos de dados do model , conforme necessário. Como o model é pequeno e raramente muda, é desnecessário fazer backup do log. |
msdb | O banco de dados usado pelo SQL Server Agent para agendar alertas e trabalhos e para registrar operadores. O msdb também contém tabelas de histórico, como as tabelas de histórico de backup e de restauração. |
Sim | Simples (padrão) | Faça backup do msdb sempre que for atualizado. |
Banco de dados de recursos (RDB) | Um banco de dados somente leitura que contém cópias de todos os objetos do sistema fornecidos com o SQL Server | Não | Nenhum | O banco de dados de recursos reside no arquivo mssqlsystemresource.mdf , que contém apenas código. Portanto, o SQL Server não pode fazer backup do banco de dados de recursos.Observação: você pode executar um backup baseado em arquivo ou em disco no arquivo mssqlsystemresource.mdf tratando-o como se fosse um arquivo binário (.exe ) em vez de um arquivo de banco de dados. Porém, você não pode usar a restauração do SQL Server nos backups. Só é possível restaurar uma cópia de backup do mssqlsystemresource.mdf manualmente, e você deve ter cuidado para não substituir o atual Banco de dados de recurso por uma versão desatualizada ou potencialmente não segura. |
tempdb | Um workspace para manter conjuntos de resultados temporários ou intermediários. Esse banco de dados é recriado sempre que uma instância do SQL Server é iniciada. Quando a instância de servidor é desligada, qualquer dado em tempdb é excluído permanentemente. |
Não | Simples | Não é possível fazer backup do banco de dados do sistema tempdb . |
Configurar Distribuição | Um banco de dados que existe somente se o servidor estiver configurado como um Distribuidor de replicação. Esse banco de dados armazena metadados e dados de histórico para todos os tipos de replicação e transações para replicação transacional. | Sim | Simples | Para obter informações sobre quando fazer backup do banco de dados distribution , confira Fazer backup e restaurar bancos de dados replicados. |
1 Para conhecer o modelo de recuperação atual do modelo, confira Visualizar ou alterar o modelo de recuperação de um banco de dados (SQL Server) ou sys.databases (Transact-SQL).
Limitações da restauração de bancos de dados do sistema
Os bancos de dados do sistema podem ser restaurados somente a partir de backups criados na versão do SQL Server que está em execução na instância de servidor no momento. Por exemplo, para restaurar um banco de dados do sistema em uma instância de servidor em execução no SQL Server 2016 (13.x) com o Service Pack 1, é necessário usar um backup de banco de dados criado após a atualização da instância do servidor para o SQL Server 2016 (13.x) SP 1.
Para restaurar qualquer banco de dados, a instância do SQL Server deve estar em execução. A inicialização de uma instância do SQL Server requer que o banco de dados master
esteja acessível e seja, pelo menos, parcialmente utilizável. Se o master
tornar-se inutilizável, você poderá retornar o banco de dados a um estado utilizável das seguintes maneiras:
Restaure o
master
de um backup de banco de dados atual.Caso possa iniciar a instância de servidor, você deverá poder restaurar o
master
de um backup de banco de dados completo. Para obter mais informações, confira Restaurar o banco de dados mestre (Transact-SQL).Reconstruir o
master
completamente.Se houver danos graves no
master
que impeçam a inicialização do SQL Server, restabeleça omaster
. Para obter mais informações, consulte Recriar bancos de dados do sistema.Importante
O restabelecimento do
master
recompila todos os bancos de dados do sistema.
Em algumas circunstâncias, os problemas que recuperam o banco de dados model
podem exigir a reconstrução dos bancos de dados do sistema ou a substituição dos arquivos mdf
e ldf
para o banco de dados model
. Para obter mais informações, consulte Recriar bancos de dados do sistema.
Tarefas relacionadas
- Criar um backup de banco de dados completo
- Restaurações completas de banco de dados (modelo de recuperação simples)
- Restaurar o banco de dados mestre (Transact-SQL)
- Visualizar ou alterar o modelo de recuperação de um banco de dados (SQL Server)
- Mover os bancos de dados do sistema