Implementando Política de Recuperação para os Bancos de Dados

Propaganda
Implementando Política de Recuperação
para os Bancos de Dados do Sistema
Os bancos de dados Master, MSDB e Model constituem o cerébro do servidor SQL
Server. Cada um deles exerce funcionalidades distintas e importantes para o bom
funcionamento geral do SGBD. Realizar qualquer alteração das informações contidas
nestes banco de dados deve ser implementada com precaução. Realizar modificações no
seu servidor de banco de dados, alterando o tamanho dos bancos de dados ou adição de
novos usuários, por exemplo, além de informações de configuração do SQL Server são
situações onde é necessário possuímos uma cópia de segurança, a fim de que possamos
garantir que em caso de alguma falha ou indisponibilidade destas bases de dados,
possamos recuperá-los.
Conhecendo o Banco de Dados Máster
O banco de dados Master contém os metadatas dos seus bancos de dados (configuração
de banco de dados e localização de arquivos), logins e informações de configuração de
sua instância SQL Server. Se este importante banco de dados for perdido, o seu servidor
SQL pode não ser capaz de iniciar. Execute a seguinte consulta, onde é possível verificar
quais bancos de dados estão instalados no servidor, como mostra a Figura 1.
A função deste de banco de dados foi um pouco diminuída no SQL Server 2005 com a
adição do banco de dados Resource, mas ele não é menos importante. A principal
diferença entre eles é que o banco de dados Master mantém dados específicos para a
instância, enquanto o banco de dados de Resource apenas mantém o schema e stored
procedures necessários para execução de sua instância.
Os seguintes itens devem provocar a realização de uma cópia de segurança para a base
de dados Master:
 Instrução SQL de CREATE, ALTER ou DROP.
 Alteração no Log de Transações
 Adição ou remoção de um dispositivo espelhado
 Adição ou remoção de servidores remotos
 Adição ou remoção de um login
 Qualquer alteração na configuração do seu servidor SQL Server.
O tamanho do banco de dados Master é outra consideração importante. Por padrão, nas
versões atuais do SQL Server 2005, a base de dados Master é definida em 25 Mb. Este
valor é totalmente dependente do sistema que ele deve suportar.
Conhecendo o Banco de Dados MODEL
O banco de dados MODEL é uma referência para criar novos bancos de dados definidos
por usuário. As tabelas de sistema de bancos de dados definidos pelo usuário são
armazenadas no Model. Qualquer store procedure ou usuários que necessitam existir em
todos os bancos de dados devem ser colocados no banco de dados Model. Colocando-os
nesse banco de dados, eles serão copiados para cada banco de dados sucessivo que é
criado. A única vez que isto não se aplica é quando restauramos ou anexarmos um
banco de dados de um servidor diferente.
Importante: Cuidado em colocar objetos neste banco de dados. Esta ação aumentará o
tamanho mínimo dos seus bancos de dados e pode acrescentar objetos desnecessários a
estas bases de dados.
Conhecendo o Banco de Dados Msdb
O MSDB é um banco de dados do sistema que contém informações usadas pelo agente
do SQL Server, log shipping, o SSIS e o sistema de backup e restauração para o
mecanismo de banco de dados relacional. Ele é basicamente uma lista de tarefas do seu
servidor. Você pode acrescentar tarefas a este banco de dados que será executada em
uma determinada base de dados. O banco de dados armazena todas as informações
sobre os jobs, operadores, alertas e histórico de jobs. Porque ela contém este dados
importantes ao nível do sistema, devemos realizar backup deste banco de dados
regularmente.
Este banco de dados Msdb permite que você gerencie pro ativamente o seu servidor
SQL Server. Usado principalmente pelo serviço SQL Executive que proporciona
agendamento de tarefas, replicação e gerenciamento de alertas.
Conhecendo o Banco de Dados Tempdb
Mesmo não fazendo parte das bases de dados do sistema que caracterizam o coração do
SQL Server, entender como funcionar o Tempdb poderá auxiliá-lo no refinamento de
uma estratégia de backup.
O banco de dados Tempdb assemelha-se como arquivo de swap para seu banco de
dados. É usado para manter objetos temporários de todos os logins e o servidor pode
usar este banco de dados para manter temporariamente tabelas para resultados
intermediários através da ordenação. O banco de dados Tempdb é criado cada vez que
reiniciamos o SQL Server. Ele será recriado para seu tamanho original quando o SQL
Server é parado. Como o banco de dados é recriado cada vez, não há nenhuma razão
para realizar backups. Quando criamos um objeto temporário no banco de dados
Tempdb, ele grava informações mínimas no arquivo de log. É importante ter espaço
suficiente alocado para o banco de dados Tempdb, porque muitas operações que
podemos usar em nossas aplicações de banco de dados usam o Tempdb. Em geral,
precisamos definir o Tempdb com Autogrow como ele precisa de espaço. Se houver
espaço suficiente, o usuário pode receber uma das seguintes erros:
Tabela 1. Mensagens de erros mais comuns quando não há espaço suficiente no banco
de dados Tempdb.
Implementando a restauração das bases de dados do sistema
1. Realize cópia de segurança para os bancos de dados master, msdb e model, como
mostra a Figura 1.
2. Realize cópia Feche o SQL Server Management Studio e quaisquer outros programas
que tenham alguma conexão com o seu servidor.
3. Devemos parar qualquer serviço que estiver executando no SQL Server. Para isso,
no menu Start, selecione All Programs, Microsoft SQL Server 2005, Configuration Tools e
escolha a ferramenta de configuração SQL Server Configuration Manager. Nesse passo, é
importante você registra quais serviços estavam rodando para que possa iniciá-los
novamente mais tarde. Depois de todos os serviços interrompidos, deve ficar assim,
como mostra a Figura 2.
4. Devemos iniciar o SQL Server no modo de administração single-user para
executamos a restauração da base de dados Master. No menu Start, escolha Execute e
digite cmd para podemos utilizar um prompt de comando. Vá para o diretório dos
arquivos binários de seu SQL Server, o caminho padrão utilizado pela configuração do
SQL Server.
C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn
5. Neste diretório execute a seguinte instrução para que possamos iniciar o SQL
Server.
C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn>sqlservr –m
6. Abra um outro prompt de comando deixando o anterior aberto. Digite sqlcmd –E
para conectar-se ao SQL Server.
7. Execute a seguinte instrução T-SQL para restauração do banco de dados Master. Ao
inserir uma instrução, pressione a tecla Enter para adicionar uma nova linha e por fim
GO para que possa ser executada a instrução completa, como mostra a Figura 3.
8. Mude para o primeiro prompt de comando criado. O SQl Server emitiu um
desligamento automático. Agora os prompts de comandos podem ser fechados.
9. No SQL Server Configuration Manager inicie apenas o serviço SQL
Server(MSSQLSERVER).
Apenas o banco de dados Master deve ser restaurado através de linha de comando os
demais bancos de dados, inclusive o MSDB e MODEL podem ser restaurados na
ferramenta SQL Server Magament Studio. Como nenhuma conexão com os bancos de
dados é permitida durante a restauração, iniciamos apenas o serviço MSSQLSERVER,
conforme visto anteriormente.
10. Abra uma nova janela para executar as seguintes instruções T-SQL para recuperar
os bancos de dados msdb e model, como mostra a Figura 4.
11. Agora podemos iniciar os demais serviços no SQL Server Configuration Manager que
havíamos interrompidos anteriormente.
Conclusão
Este artigo visa preencher uma lacuna na implementação de backups, mostrando que a
execução de backups para os banco de dados de sistema são de extrema necessidade e
não podemos deixar de fazê-los.
Download