Artigo da SQL Magazine 24 - Backups com SQL Server 2000 - Parte IV

Artigo da Revista SQL Magazine - Edição 24.

Clique aqui para ler esse revista em PDF.

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

 

Backups com SQL Server 2000 - Parte IV

Point-in-Time recovery, restaurações de backups de filegroup e diferenciais

Paulo Ribeiro

Leitura obrigatória: SQL Magazine 20, Utilizando Filegroups para Ganho de Performance e Gerenciamento de Espaço.

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.

Leitura obrigatória: SQL Magazine 23, Backups com SQL Server 2000 Parte III - Restaurando Backups.

 

Continuaremos nessa matéria com o assunto iniciado na edição anterior: restauração de databases. Já vimos diversos exemplos de restauração, realizamos também simulações de recuperação de dados em ambientes de produção a partir de arquivos de log. Agora, partiremos para cenários mais abrangentes de restauração, envolvendo backups diferenciais, filegroups e o chamado point-in-time recovery. Boa leitura!

Restauração a partir de backups diferenciais

Relembrando:

·Um backup diferencial irá copiar somente as páginas alteradas desde o último backup de database (backup FULL);

·A restauração de um backup diferencial é um processo de duas etapas: deve-se restaurar o backup de database, seguido do último backup diferencial;

·Backups diferenciais são freqüentemente utilizados em conjunto com backups de log para diminuir número de arquivos e tempo total gasto no processo de restauração.

 

Para exemplificar um processo de restauração que inclui backups diferenciais, foram reproduzidos uma série de eventos conforme apresentado na Tabela 1. Nosso objetivo será reconstituir o database dbTeste após um crash na unidade D:, onde está localizado o filegroup secundário do database dbTeste (FG_INDICE). O script de criação do database dbTeste encontra-se na Listagem 1.

 

Listagem 1. Script para criação do database dbTeste.

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'd:\temp\dbTeste_Data_Sec.NDF', -- se você não possui unidade D:, troque para C:

  SIZE = 5,

  FILEGROWTH = 10%

)

LOG ON

(

  NAME = N'dbTeste_log',

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

  SIZE = 3,

  FILEGROWTH = 10%

)

GO

 

-- alterando o recovery do database para FULL para que possamos trabalhar com backups de log

alter database dbTeste set recovery FULL

GO


 

Tabela 1. Cenário de um ambiente de produção que utiliza backups diferenciais e log.

Instante

Operação

Comando

t0

Backup Full

use dbTeste

go

backup database dbTeste to disk='C:\temp\DUMP_dbTeste.bak' "

[...] continue lendo...
Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados