MCDBA Brasil


  • Home
  • Sobre
  • Contato

Livros





Links Rápidos

SQL Server Builds (All Versions/Editions)


Download SQL Server 2017 (trial)


SQL Server 2017 Feature Pack


SQL Server 2016 Feature Pack


Cumulative Update SQL Server 2017 builds


Cumulative Update SQL Server 2016 builds


Cumulative Update SQL Server 2014 builds


Cumulative Update SQL Server 2012 builds


SQL Server 2005/2008 Samples Databases


Documentando o Servidor SQL Server


Analisando a Performance do Servidor-CheckList


Virtual PASS PT


Faça parte do maior virtual chapter do PASS com conteúdos técnicos em Português sobre SQL Server.

Todos os meses um evento Online para você! Acompanhe aqui os WebCasts já agendados

Sindicalize seu blog ou site ao VirtualPASSPT

SQL Server Blogs

SQL Server Query Processing Team


SQL Programmability & API Development Team


SQL Server Manageability Team


Latin America Support Team


Database + Disk + Performance


Microsoft SQL Server Support


SQL CLR Team


SQL Query Optimization Team


SQL 2005 Code Samples


SQL Server Express Team


SQL SMO Samples


SQL Storage Engine Team


SQL CAT Team


SQL Protocols Team


PSS SQL Server Engineers


Slava Oks on SQLOS


Ken Henderson’s blog


LUTI@Microsoft Blog


kimberly L. Trip’s blog


Fernando Garcia Blog

Artigos

Restaurando o Banco de Dados Master

por Nilton Pinheiro fevereiro 4, 2007 Nenhum comentário

Para aqueles que ainda não sabem, o banco de dados master é um banco de dados de sistema assim como o model, msdb e o tempdb. A diferença é que o master é o coração do SQL Server. É nele que fica armazenado seus logins, devices de backup, os bancos existentes no servidor bem como sua localização física e várias outras configurações.


Perder o banco de dados master, na prática significa perder a instalação do SQL Server pois sem ele o serviço do SQL Server não inicia e com isso, todas as suas bases ficam indíponíveis.


Existe vários momentos em que pode ser preciso restaurar a master, mas para este artigo estarei assumindo que ela foi corrompida e que o SQL Server não consegue inicializar.


Uma vez que o SQL Server não consegue inicializar, primeiro teremos que fazer o rebuild da master utilizando o utilitário rebuildm.exe e depois restaurar aquele velho e bom backup (que com certeza fazemos todos os dias certo?) 🙂


Antes de utilizar o utilitário rebuildm, recomendo a leitura do artigo http://support.microsoft.com/?id=273572 o qual descreve um bug na utilização deste.



PASSOS PARA RESTAURAR O BANCO DE DADOS MASTER


1) O primeiro passo para restaurar o banco de dados master é garantir que se tenha um backup sempre atualizado. Então vamos fazer um backup da master. Aqui utilizo o Query Analyzer (QA) mas se preferir pode usar também o Enterprise Manager.



Faça também um backup das bases model e msdb. Ao utilizarmos o utilitário rebuildm, este irá recriar todas as bases de sistema como se estivéssemos fazendo uma nova instalação do SQL Server.


Nota: É muito importante que você sempre tenha um backup atualizado das bases model e msdb porque o model é o banco template, ou seja, todos os bancos são criados tendo como base as configurações desta base e o msdb é o banco onde ficam armazenadas as informações sobre os históricos de backup/restore, os jobs, os pacotes DTS, etc..


2) Para simular a corrupção do banco de dados master iremos excluir seus arquivos. Para tal, abra o Enterprise Manager ou o Query Analyzer (QA) e verifique a localização dos arquivos .mdf e .ldf desta base. Anote este caminho.



3) Feche o Enterprise Manager ou o QA (se estiverem abertos) e pare os serviços do SQL Server. Você pode fazer isto clicando com o botão direito no ícone do SQL Server Service Manager na systray (ao lado do relógio do Windows).



4) Estando parado o serviço do SQL Server, navegue até a localização identificada no passo 2, copie os arquivos master.mdf e masterlog.ldf para um local seguro (você pode precisar dele caso algum processo aqui dê errado) e exclua os arquivos originais.


5) Se tentar iniciar o serviço do SQL Server, clicando com o botão direito no ícone do SQL Server Service Manager na systray e selecionando MSSQLServer-Start, verá que o SQL Server não iniciará. Isto porque como dito anteriormente, o SQL Server precisa da master.


6) Neste ponto precisaremos fazer o rebuild da master utilizando o utilitário rebuildm. Porém, lembre-se que como descrito no artigo que descreve o bug deste utilitário, antes de iniciá-lo devemos copiar o conteúdo da pasta /x86/Data do CD do SQL Server para uma localização temporária no disco local. No meu caso, copiei para C:/Rebuild_master. Além disso, temos que garantir que os arquivos estão como read-write. Para isso, selecione todos os arquivos copiados, clique com o botão direito e selecione “Propriedades”, desmarque a opção read-only se a mesma estiver selecionada.


7) Agora já podemos fazer o rebuild da master. Para tal, navegue até o diretório apresentado na figura abaixo e execute o arquivo rebuildm.exe



Nota: Se você não tiver o arquivo rebuildm.exe copie-o do diretório /x86/binn do CD do SQL Server. Pode ser preciso copiar também outros arquivos.


8) Ao executar o utilitário, informe o nome do servidor SQL Server e o caminho dos arquivos copiados no passo 6. Clique no botão Rebuild, clique em Sim para fazer rebuild e overwrite das bases de sistema e aguarde alguns minutos.



9) Após a execução do utilitário rebuildm já é possível iniciar os serviços do SQL Server. No entando, se abrir o Enterprise Manager verá que todas as suas bases e logins sumiram. Para terem uma idéia do trabalho realizado pelo rebuildm, veja meu servidor antes e após sua execução.


Antes da execução do rebuildm: Tenho vários bancos de dados e logins.


Após a execução do rebuildm: Tenho apenas os bancos e logins de uma instalação original do SQL Server.


Na verdade isto acontece porque o rebuildm recria todas as bases de sistema (master, model, msdb, tempdb) como se estivéssemos instalando um novo SQL Server. A execução do rebuildm foi necessária porque não estávamos conseguindo nem iniciar o SQL Server e sem iniciar o SQL Server não poderíamos voltar o backup mais recente de nossa master original.


Agora que já estamos com o SQL Server no ar novamente, podemos partir para o próximo passo que é restaurar o backup da master original. Backup este que foi criado no passo 1.


10) Para restaurar o backup da master precisamos iniciar o SQL Server em single user mode. Para isto, pare o serviço do SQL Server (caso esteja iniciado). Abra uma janela DOS e navegue até o caminho onde está o arquivo sqlservr.exe – o executável do SQL Server. Execute este arquivo usando a opção -m como demonstrado abaixo. Se preferir, acrescente também a opção -c a qual faz o SQL Server iniciar mais rápido.


Nota: Para saber mais sobre as opções -m e -c, no Books Online do SQL Server pesquise por “Using Startup Options”.


11) Neste ponto, o SQL Server está iniciado em single user mode. Deixando esta janela aberta, abra o Enterprise Manager e restaure o backup da master da mesma forma que faria para restaurar o backup de qualquer outro banco de dados. Para simplificar, estarei restaurando o backup da master usando o utilitário osql.exe – um utilitário de linha de comando disponível em qualquer edição do SQL Server.


12) Para restaurar o backup da master, abra uma nova janela DOS e execute o utilitário osql.exe como demonstrado abaixo.



Surgirá uma mensagem dizendo que a master foi restaurada com sucesso e que o SQL Server foi shutdown.


Feche então todas as janelas DOS, inicie os serviços do SQL Server e abra o Enterprise Manager. Pronto, se tudo correu bem seu SQL Server estará restaurado como se nada estivesse acontecido.


Para recuperar seus jobs, DTS e históricos de backup/restore, não esqueça de restaurar também o backup do msdb. Se tiver feito alguma configuração especial em seu model, restaure-o também. O restor destas bases é feito como o restor de qualquer outra. Se preferir, pode usar o mesmo procedimento do passo 12.


Nota: Se você precisa restaurar o banco de dados master mas o seu SQL Server está iniciando corretamente, siga os procedimentos a partir do passo 10. Neste caso não é necessário executar o utilitário rebuildm e nem restaurar as bases msdb e model.


Qualquer dúvida ou problema com os procedimentos acima post uma mensagem em nosso fórum ou entre em contato conosco.


Um abraços a todos
Nilton Pinheiro

Avaliação:
Compartilhe:
  • Anterior Isolando Problemas de Performance de Disco19 anos atrás
  • Próximo Procedure para Documentar as Estruturas dos Databases19 anos atrás

Deixe uma resposta Cancelar resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

MVP Reconnect Award

Categorias

  • Artigos (359)
  • Dica da Semana (95)
  • Documentação (54)
  • Downloads (113)
  • MSDE 2000 (3)
  • Sem categoria (1)
  • Tutoriais (9)

Posts recentes

  • #FechouBrasil #PartiuPortugal
  • Brigando com o erro “The cached MSI file is missing”
  • MCDBABRASIL está de volta
  • Documentando o Servidor SQL Server
  • Brigando com os Erros 17182, 17826 e 17120

SQL Server AlwaysOn Video Series

Video1: Introdução ao SQLServer2012 AlwaysOn


Video2: Introdução ao SQLServer2012 AlwaysOn Availability Group


Video3: Introdução ao SQLServer2012 AlwaysOn AVG-Demo


Video4: Introdução ao SQLServer2012 AlwaysOn Listener


Video5: Introdução ao SQLServer2012 AlwaysOn Readable Secondaries


Video6: Introdução ao SQLServer2012 AlwaysOn Readable Secondaries-Demo


Video7: Introdução ao SQLServer2012 AlwaysOn Failover Clustering


Serie SQL Server Failover Clustering End-to-End

Parte 1: Configuração da Rede e Ambiente


Parte 2: Configurando o Windows 2008 R2 Domain Controler e DNS


Parte 3: Preparando os nós para o Failover Cluster


Parte 4: Configurando um Failover Cluster de 2 nós


Parte 5: Configurando as LUNs no iSCSI Software Target (Parte 1)


Parte 6: Configurando as LUNs no iSCSI Software Target (Parte 2)


Parte 7: Apresentando as LUNs para os nós do Failover Cluster


Parte 8: Configurando os discos no Failover Cluster


Parte 9: Instalando a primeira instância virtual do SQL Server 2008


Parte 10: Instalando a segunda instância virtual do SQL Server 2008


Parte 11: Instalando e Configurando o MSDTC no Failover Cluster


Parte 12: Configurando Mount Points no Cluster e SQL Server 2008


Vídeo Extra: Removendo uma Instância do SQL Server 2008 R2 em Cluster


Alta Disponibilidade no SQL Server 2008 R2: Failover Clustering Overview


Alta Disponibilidade no SQL Server 2008 R2: Failover Clustering na Prática

Menu

  • Home
  • Sobre
  • Contato

Mais

  • RSS Feeds
2026 MCDBA Brasil.