Por que eu devo ler este artigo: O banco de dados master possui informações específicas de sistema comuns a todos os bancos de dados, por exemplo, logins de servidor. Se você perder seu banco de dados master, provavelmente não conseguirá iniciar o SQL Server.
Este artigo aborda o processo de recriação do banco de dados master e, depois, sua recuperação através de backup. Adicionalmente, veremos outras áreas críticas que são muitas vezes negligenciadas em uma recuperação, a saber: logins e contas de usuários que ficam fora de sincronização. Analisaremos também duas ferramentas que nos auxiliarão a corrigir alguns problemas comuns. Por fim, abordaremos alguns outros problemas comuns que você pode encontrar ao recriar o banco de dados master e como solucioná-los.
Recriando e recuperando o banco de dados master
O banco de dados master é especial. Quando o banco de dados master sofre algum dano, é bastante provável que o SQL Server não funcione. Nesta seção, recriaremos o banco de dados master e, depois, o restauraremos. Lembre-se de que ao recriar o master você perderá todas as informações e dados. Portanto, verifique se os bancos de dados possuem backup. Se os arquivos do banco de dados ainda existirem e forem recuperáveis, você poderá reconectar os bancos de dados utilizando o SQL EM ou a stored procedure sp_attach_db. A seguir, examinaremos uma situação de recuperação típica.
Cenário
Nosso sistema sofreu um pico de tensão e perdemos uma unidade de disco. Quando tentamos iniciar o backup do SQL Server, descobrimos que ele não estava iniciando e examinamos o errorlog (ver Listagem 1). O local padrão onde o errorlog pode ser encontrado é o diretório (. . .\LOG).
2001-04-28 14:53:18.45 serverMicrosoft SQL Server 2000 - 8.00.194 (Intel X86) Aug 6 2000 00:57:48 Copyright (c) 1988-2000 Microsoft Corporation Enterprise Edition on Windows NT 5.0 (Build 2195: ) 2001-04-28 14:53:18.50 server Copyright (C) 1988-2000 Microsoft Corporation. 2001-04-28 14:53:18.50 server All rights reserved. 2001-04-28 14:53:18.50 server Server Process ID is 1364. 2001-04-28 14:53:18.50 server Logging SQL Server messages in file 'C:\Program Files\Microsoft SQL Server\MSSQL\log\ERRORLOG'. 2001-04-28 14:53:180,53 server initconfig: Error 2(The system cannot find the file specified.) opening 'C:\Program Files\Microsoft SQL Server\MSSQL\data\master. mdf' for configuration information.
Podemos perceber que perdemos o arquivo de dados do banco de dados master. Para iniciar a restauração do sistema, utilize a ferramenta rebuildm localizada no diretório ...\tools\binn (C:...\tools\binn>rebuildm.exe) para recriar o banco de dados master.
Ao executar a ferramenta rebuildm, a tela mostrada na Figura 1 é exibida. Serão solicitadas informações como o local dos arquivos de dados (os arquivos de dados originais que acompanham o CD), que estão localizados no diretório ...\x86\data no CD. Recomendamos que você copie os arquivos para um disco rígido local antes de tentar executar a recriação.
A Figura 1 mostra a tela splash da ferramenta Rebuild Master. Digite o nome do servidor e o local dos arquivos de dados master.mdf e master.ldf.
Depois de fornecer o local, o SQL Server confirmará que queremos recriar o master e substituir as informações do sistema armazenadas no banco de dados do sistema. O SQL Server, em seguida, começará a copiar os arquivos de dados. Após a cópia dos arquivos, o SQL Server se configurará para que o novo master seja reconhecido. Neste momento, temos um SQL Server limpo, mas que não reconhece a existência de outros bancos de dados. Agora é a hora de restaurar o backup do master de nosso último backup bem sucedido. Ele conterá os locais dos outros bancos de dados do servidor, logins do SQL Server etc.
Restaurando o banco de dados master
Para restaurar o banco de dados master, você precisará executar as seguintes etapas:
-
Adicione o dispositivo de backup:
sp_addumpdevice 'disk', 'master_backup', 'c:\tmp\sql_backup\master_backup.dmp' go
Quer ler esse conteúdo completo? Tenha acesso completoConfira outros conteúdos:
Por Devmedia Em 2008Crie sua conta grátis e baixe o e-bookDê um upgrade no início da sua jornada.Perguntas frequentes
Quem somos?Por que a programação se tornou a profissão mais promissora da atualidade?Como faço para começar a estudar?Em quanto tempo de estudo vou me tornar um programador?Sim, você pode se tornar um programador e não precisa ter diploma de curso superior!O que eu irei aprender estudando pela DevMedia?Principais diferenciais da DevMediaQual o investimento financeiro que preciso fazer para me tornar um programador?Nossos casos de sucesso
Eu sabia pouquíssimas coisas de programação antes de começar a estudar com vocês, fui me especializando em várias áreas e ferramentas que tinham na plataforma, e com essa bagagem consegui um estágio logo no início do meu primeiro período na faculdade.
Estudo aqui na Dev desde o meio do ano passado! Nesse período a Dev me ajudou a crescer muito aqui no trampo.
Fui o primeiro desenvolvedor contratado pela minha empresa. Hoje eu lidero um time de desenvolvimento!
Minha meta é continuar estudando e praticando para ser um Full-Stack Dev!Economizei 3 meses para assinar a plataforma e sendo sincero valeu muito a pena, pois a plataforma é bem intuitiva e muuuuito didática a metodologia de ensino. Sinto que estou EVOLUINDO a cada dia. Muito obrigado!
Nossa! Plataforma maravilhosa. To amando o curso de desenvolvimento front-end, tinha coisas que eu ainda não tinha visto. A didática é do jeito que qualquer pessoa consegue aprender. Sério, to apaixonado, adorando demais.
Adquiri o curso de vocês e logo percebi que são os melhores do Brasil. É um passo a passo incrível. Só não aprende quem não quer. Foi o melhor investimento da minha vida!
Foi um dos melhores investimentos que já fiz na vida e tenho aprendido bastante com a plataforma. Vocês estão fazendo parte da minha jornada nesse mundo da programação, irei assinar meu contrato como programador graças a plataforma.
Wanderson Oliveira
Comprei a assinatura tem uma semana, aprendi mais do que 4 meses estudando outros cursos. Exercícios práticos que não tem como não aprender, estão de parabéns!
Obrigado DevMedia, nunca presenciei uma plataforma de ensino tão presente na vida acadêmica de seus alunos, parabéns!
Eduardo Dorneles
Aprendi React na plataforma da DevMedia há cerca de 1 ano e meio... Hoje estou há 1 ano empregado trabalhando 100% com React!
Adauto Junior
Já fiz alguns cursos na área e nenhum é tão bom quanto o de vocês. Estou aprendendo muito, muito obrigado por existirem. Estão de parabéns... Espero um dia conseguir um emprego na área.