N style="mso-spacerun: yes">capasql23.jpg

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

Backups com SQL Server 2000 Parte III

Restaurando databases

Paulo Ribeiro

Leitura obrigatória: SQL Magazine 21, Backups com SQL Server 2000 – Parte I, Modelos de Recovery.

Leitura obrigatória: SQL Magazine 22, Backups com SQL Server 2000 – Parte II, Executando Backups.

 

Certa vez li um artigo que, em resumo, afirmava o seguinte:

“... Se um DBA mantém backups atualizados e em condições que possibilitem sua utilização sem que ocorram prejuízos para o negócio da empresa, ele estará exercendo de forma plena a função para a qual foi contratado. Um plano sólido de backup & recovery deve ser o primeiro item da lista de deveres de um DBA,  que é pago para proteger seus dados. Todas as outras atividades do DBA têm importância relativa e podem ser encaradas como um bônus agregado à sua função primordial de guardião dos dados da empresa ...”

Talvez o texto tenha exagerado um pouco, mas a idéia central deve ser preservada: um plano sólido de backup & recovery é essencial, e boa parte do trabalho de um DBA deve ser consumido diariamente na checagem e validação de backups.

Nessa matéria o leitor acompanhará uma simulação de crash de disco, depois exercitaremos passo-a-passo o que deve ser feito para que tenhamos uma restauração bem sucedida, sem registro de perdas. Como o assunto é extenso, começaremos com restaurações de database e log, mas continuaremos nas próximas edições com restaurações de backups diferenciais, filegroups e servidores stand-by. A introdução será um flash-back das edições anteriores onde falamos sobre modelos de recovery e tipos de backup.

Modelos de recovery

Os modelos de recovery determinam os tipos de backup que podemos utilizar e, conseqüentemente,  o grau de risco relativo à perda de dados que estaremos sujeitos em um eventual processo de restauração. São três os modelos de recovery existentes no SQL Server 2000 (ver Tabela.1)

 

tabela1.jpg 

Tabela 1. Modelos de recovery.

 

Os tipos de restauração dependem, além do modelo de recovery adotado, do tipo de backup que foi executado. Em outras palavras, não consigo restaurar um filegroup em particular a partir de um backup de database, e assim por diante. Antes de falarmos de restauração, vamos relembrar os tipos de backup existentes.

Tipos de backup

Um resumo dos tipos de backup existentes no SQL Server 2000 podem ser visualizados na Tabela 2.

 

tabela2.jpg 

Tabela 2. Tipos de backup.

 

O SQL Server 2000 permite ainda mais um tipo de backup: o SNAPSHOT, mas esse backup depende  de hardware de terceiros; o SQL Server 2000 apenas “suporta” essa tecnologia. O snapshot backup é extremamente eficiente, sendo capaz de gerar cópias em disco de VLDB´s em questões de segundos. O snapshot backup pode ser encontrado em storages da EMC,SAN,HP, etc.

Prosseguiremos agora com a criação do database dbTeste, utilizado nos exemplos de restaurações dessa matéria.

Criação do ambiente para testes

Precisaremos de um database para fazer simulações e executar backups. O código para criação do database dbTeste encontra-se disponível na Listagem 1.

Listagem 1. Código para criação do database dbTeste.

-- Se o database dbTeste existir, será dropado

use master

IF EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name = N'dbTeste')

         DROP DATABASE [dbTeste]

GO

 

-- Criando o database dbTeste

CREATE DATABASE [dbTeste] 

ON PRIMARY

(

  NAME = N'dbTeste_Data_Prim',

  FILENAME = N'c:\temp\dbTeste_Data_Prim.MDF' ,

  SIZE = 5,

  FILEGROWTH = 10%

)

,

FILEGROUP FG_INDICE

(

  NAME = N'dbTeste_Data_Sec',

  FILENAME = N'c:\temp\dbTeste_Data_Sec.NDF' ,

  SIZE = 5,

  FILEGROWTH = 10%

)

LOG ON

(

  NAME = N'dbTeste_log',

  FILENAME = N'c:\temp\dbTeste_log.LDF' ,

...

Quer ler esse conteúdo completo? Tenha acesso completo