Qual é a importância de restaurar bancos de dados do sistema do SQL Server (modelo, mestre, etc.)?

1

Eu tive que restaurar alguns bancos de dados de produção para uma unidade diferente na mesma máquina do Microsoft SQL Server 2005. Isso funcionou bem e o aplicativo usando os bancos de dados está de volta online.

No entanto, não restaurei os bancos de dados do sistema (ou padrão?) criados pelo SQL Server (modelo, mestre, etc.). Minha pergunta é: qual é o papel desses bancos de dados? e como é importante restaurá-los?

    
por Zero Subnet 19.10.2012 / 03:07

1 resposta

2

master e msdb store contêm procedimentos, funções, tabelas, visualizações e outros objetos que definem o sistema inteiro. Por exemplo, o mestre contém informações como informações sobre logins, onde os arquivos dos bancos de dados estão localizados, procedimentos armazenados do sistema e muitas outras coisas. O msdb era originalmente principalmente sobre jobs, alertas. As informações de configuração do dbmail e muitas outras coisas foram adicionadas ao longo dos anos.

modelo é uma espécie de banco de dados de amostra que atua como ponto de partida quando você cria um novo banco de dados. Objetos que estão no modelo serão copiados para o novo banco de dados. As pessoas costumavam aproveitar esse comportamento com mais frequência (como 10 ou 15 anos atrás), para que pudessem incluir um procedimento ou uma tabela específica em cada banco de dados que criaram, mas isso tem seus problemas e caiu em desuso. MAS, como uma espécie de apêndice, o modelo não é muito difícil, mas você ainda precisa dele.

tempdb é um banco de dados que fornece armazenamento temporário para tabelas temporárias (#sometablename e ## someothertablename), variáveis de tabela (se forem grandes o suficiente), operações de classificação e agrupamento (como GROUP BY ou DISTINCT) e provavelmente outras, mais coisas arcanas. Normalmente, você nunca restauraria um tempdb. Ele é reconstruído do zero toda vez que você reinicia o servidor.

Versões recentes do SQL Server têm outro banco de dados de sistema oculto chamado "banco de dados de recursos". Você nunca deve ter qualquer razão para mexer com isso.

Caso você esteja se perguntando, "pubs", Adventurworks e AdventureworksDW não são bancos de dados do sistema, eles são apenas bancos de dados de usuários regulares que funcionam como exemplos e podem ser removidos sem afetar o comportamento do servidor.

Os bancos de dados do sistema geralmente só são restaurados quando ocorre algum tipo de falha catastrófica, como uma falha de disco ou o centro de dados se esgotando. Você também pode restaurar bancos de dados do sistema se estiver migrando de um servidor para outro e precisar preservar logons, tarefas, dbmail e outras configurações (embora haja outras maneiras possivelmente melhores de fazer isso).

Você deseja fazer backup de master, model e msdb. Você não precisa fazer backup do banco de dados de recursos ou do tempdb. Se uma de suas funções de trabalho for "dba", é uma boa ideia revisar o que você precisa fazer para restaurar esses bancos de dados (está documentado em artigos do MSKB) porque restaurar um banco de dados do sistema é mais complicado do que restaurar um banco de dados do usuário . Você não deseja ler esses artigos da KB pela primeira vez quando estiver em uma situação de emergência.

Ao restaurar um banco de dados do usuário, você não precisa restaurar os bancos de dados do sistema. A captura com a restauração de um banco de dados do usuário é que você precisa garantir que os usuários descritos no banco de dados correspondam aos logins do servidor (que estão armazenados no banco de dados mestre). É para isso que serve o procedimento do sistema sp_change_users_login.

    
por 19.10.2012 / 15:09