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 o master. 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