SQL Server: Recuperando o banco de dados master - SQL Magazine 17

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (1)  (0)

Veja nesse artigo como realizar um backup de um banco de dados master no Microsoft SQL Server.

capaSQL17.JPG

Clique aqui para ler todos os artigos desta edição

SQL Server: Recuperando o banco de dados master

Por Frank McBath

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.

Listagem 1. Informações do errorlog.

 

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.

 

img1.jpeg 

Figura 1. Tela inicial da recriação do master.

 

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:

1.      Adicione o dispositivo de backup:

 

sp_addumpdevice 'disk', 'master_backup',

'c:\tmp\sql_backup\master_backup.dmp'

go

 

2.      Interrompa o SQL Server.

3.      Coloque o SQL Server no modo de usuário único. Para fazer isto, abra o prompt do DOS, mude o diretório para o . . .\MSSQL\BINN e execute o seguinte comando:

 

C:\Program Files\Microsoft SQL Server\MSSQL\Binn> sqlservr.exe -c -m

 

Isso reiniciará o SQL Server e a saída será direcionada para o console. A seguir encontra-se um exemplo do que será exibido na tela do console (e também no errorlog):

 

2001-04-29 15:44:08.43 spid3     

SQL Server started in single user mode. Updates allowed to system catalogs.

2001-04-29 15:44:080,46 spid3     Starting up database 'master'.

 

4.      Faça login no SQL Server como usuário sa ou como administrador.

5.      Restaure o banco de dados master como faria com qualquer outro banco de dados. Observe que o modo de recuperação do master é simples, portanto, você não restaurará nenhum log de transação.

 

restore database master from master_backup go

 

Feito isto, será apresentado na janela a seguinte mensagem:

 

The master database has been successfully restored. Shutting down SQL Server.

SQL Server is terminating this process.

 

6.      "

A exibição deste artigo foi interrompida :(
Este post está disponível para assinantes MVP

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?