Estratégias de Backup e Restore

55
Fabricio Catae e Thiago Iacopini (Microsoft) Estratégias de Backup e Restore

Transcript of Estratégias de Backup e Restore

Page 1: Estratégias de Backup e Restore

Fabricio Catae e Thiago Iacopini (Microsoft)

Estratégias de Backup e Restore

Page 2: Estratégias de Backup e Restore

Agenda

• Transaction Log• Tipos de Backup• Modelos de Recuperação• Log Shipping• Estratégias de Restore

Page 3: Estratégias de Backup e Restore

1. Transaction Log

Page 4: Estratégias de Backup e Restore

Repositório de Dados

Arquivos de DadosPrimário (.MDF)

Secundários (.NDF)

Page 5: Estratégias de Backup e Restore

Transação

• Unidade de Operação• Pode ser composta por múltiplas operações

• Ações Possíveis• Commit• Rollback

Page 6: Estratégias de Backup e Restore

Exemplo de Transação : Casal reformando a sala

BEGIN TRANSACTION

Pintar parede da sala de verdeColocar um abajur marrom na mesaComprar um sofá creme no lugar do azulSe não combinar, ROLLBACK TRANSACTION

COMMIT TRANSACTION

Page 7: Estratégias de Backup e Restore

Processo de Log

Arquivo de LogBEGIN TRANSACTION (transaction_id = 299)

Apaga dados do usuárioInsert nova informacao

COMMIT TRAN (transaction_id = 299)BEGIN TRANSACTION (transaction_id = 300)

Apaga tabelaCOMMIT TRAN (transaction_id = 300)

UPDATEINSERTDELETE

Page 8: Estratégias de Backup e Restore

Processo de Rollback

• Quando iniciado, o Rollback deve restaurar o estado inicial

• Todas as modificações registram o estado ANTES e DEPOIS

• As correções são chamadas de Compensation Record

Arquivo de LogBEGIN TRANSACTION

Apaga registro (AAAA)Insert registro (BBBB)(ROLLBACK TRAN)Apaga registro (BBB) CompensationInsere registro (AAA) Compensation

Rollback completo

Page 9: Estratégias de Backup e Restore

Transaction Log

• Arquivo de Transaction Log permite efetuar o ROLLBACK das operações

• A consistência da transação é garantida pelo Transaction Log em conjunto com os Bloqueios (Locks)

• Arquivo de Log é CIRCULAR

1) Transação ativa

2) Backup de LOG pendente

Por que LOG FULL?

Page 10: Estratégias de Backup e Restore

Database Checkpoint

Log

CHECKPOINT

UPDATEINSERTDELETE

DataFiles

Page 11: Estratégias de Backup e Restore

Processo de Recovery

• Como perder dados:• Desligar o computador inesperadamente?• Faltar de energia elétrica?

Arquivo de DadosMDF/NDF

RECOVERY

Log

Transações Pendentes- REDO: COMMIT- UNDO: ROLLBACK

ANALISEBanco de

DadosONLINE

Page 12: Estratégias de Backup e Restore

Modo Emergência

• O que acontece se o arquivo de Log é perdido?• As informações do MDF/NDF estão inconsistentes• Leitura pode ser feita através do modo Emergência• O modo de emergência não possui LOG, por isso, é apenas

LEITURA• Somente usado em ÚLTIMO CASO

Arquivo de DadosMDF/NDF

RECOVERY

Log

EmergênciaREAD-ONLY

Page 13: Estratégias de Backup e Restore

2. Tipos de Backup

Page 14: Estratégias de Backup e Restore

Responsabilidade do DBA

• Banco de dados possui informações críticas• DBA jamais deve perder os dados armazenados• As informações devem se manter fisicamente

consistentes

• Backup de dados• Garantia de cópia dos dados

• BACKUP DATABASE <nome>TO DISK = ‘S:\Backup\db_crit_2011.bak’

Page 15: Estratégias de Backup e Restore

Estratégias de Backup

• Overview dos tipos de Backup• Backup Full• Backup de Database e Transaction Log• Backup Diferencial• Backup de File ou Filegroup• Modelos de Recovery

Page 16: Estratégias de Backup e Restore

Overview dos Tipos de Backup do SQL Server

Tipos de Backup DescriptionFull Todos os Data files são BackupeadosDifferential Faz o Backup apenas das Paginas de Dados que

foram alteradasTransaction Log Todas as mudanças registradas no Log desde o

ultimo Backup de Transaction LogTail-Log Backup É o Backup realizado no Transaction Log, antes de

um Restore ser realizado Copy Only Realiza o Backup do Database ou Log (Sem afetar a

sequência de Backup)File/File Group Realiza o Backup de arquivos ou filegroups

especificados

Page 17: Estratégias de Backup e Restore

Full Database Backups

Page 18: Estratégias de Backup e Restore

Transaction Log Backups

Page 19: Estratégias de Backup e Restore

Differential Backups

Page 20: Estratégias de Backup e Restore

Filegroup Backups

Page 21: Estratégias de Backup e Restore

Tail Log Backups

Page 22: Estratégias de Backup e Restore

Copy Only Backups

Page 23: Estratégias de Backup e Restore

Compressão de Backup

• Não pode ser lido por versões mais antigas do SQL Server

• Implementado no SQL Server 2008• Comprime o tamanho do arquivo no Device Destino• Aumenta a Performance de I/O, porém também eleva o Custo de CPU

Restrição

Page 24: Estratégias de Backup e Restore

3. Modelos de Recuperação

Page 25: Estratégias de Backup e Restore

Recuperando Dados

Seg10:00pm

Ter10:00pm

Qua4:23pm

CRASH

Page 26: Estratégias de Backup e Restore

Recuperando Dados

Seg10:00pm

Ter10:00pm

Qua4:23pm

RecoverySIMPLE

Restore de DatabasePerda de dados tolerável desde o último backup.

Exemplo: 1 dia.

Page 27: Estratégias de Backup e Restore

Reconstruindo os Dados

Seg10:00pm

Ter10:00pm

Qua4:23pm

CRASH

Backup Log a cada 30 minutos

Page 28: Estratégias de Backup e Restore

Reconstruindo os Dados

Seg10:00pm

Ter10:00pm

Qua4:23pm

+ + + =Restore de Log

Perda de dados tolerável desde o último backup de Log. Exemplo: 30

minutosFULL

Page 29: Estratégias de Backup e Restore

Reconstruindo os Dados

Seg10:00pm

Ter10:00pm

Qua4:23pm

RecoveryFULL

Restore do Final do Log (TAIL LOG)Recupera todos os dados, sem perda de

informação.

Restore de DatabasePerda de dados tolerável desde o último backup.

Restore de LogPerda de dados tolerável desde o último backup de

Log. Exemplo: 30 minutos

4:00pm

Page 30: Estratégias de Backup e Restore

BULK

SIMPLE

Recovery Model

FULL

Page 31: Estratégias de Backup e Restore

Modelos de Recovery

Modelo de Recovery CaracterísticasSimple • Não permite backups de Log

• Faz o reuso do arquivo de Log automaticamente

Full • Permite Backup de Log• Garante que nenhum dado sera removido do

log até que seja feito um Backup de Log• Permite o Recover do banco até um ponto

específico no TempoBulk Logged • Permite Backup de Log

• Permite operações de Bulk Copy de alta performance

• Reduz o uso de espaço em Log utilizando Minimal Logging

Page 32: Estratégias de Backup e Restore

Simple Recovery Mode

Page 33: Estratégias de Backup e Restore

Full Recovery Mode

Page 34: Estratégias de Backup e Restore

Bulk Logged Recovery Mode

Page 35: Estratégias de Backup e Restore

4. Log Shipping

Page 36: Estratégias de Backup e Restore

Log Shipping

• LSN - Log Sequence Number• Overview de Log Chain• Criação do Log Shipping• Manutenção do Log Shipping

Page 37: Estratégias de Backup e Restore

LSN – Log Sequence Number

Page 38: Estratégias de Backup e Restore

Log Chain

Page 39: Estratégias de Backup e Restore

Criação do Log Shipping

Page 40: Estratégias de Backup e Restore

Manutenção do Log Shipping

STAN

DBY

SERV

ER

LSN : 10001,10002,10003 …

Page 41: Estratégias de Backup e Restore

5. Estratégias de Restore

Page 42: Estratégias de Backup e Restore

Restaurando Backups de User Databases

• Como Funciona o Processo de Restore• Tipos de Restore• Restaurando um Banco de Dados• Restaurando um Transaction Log

Page 43: Estratégias de Backup e Restore

Processo de Restore

Page 44: Estratégias de Backup e Restore

Tipos de Restore

• Restore completo de Database• Restore de Filegroup• Restore de Páginas• Restore Online

Page 45: Estratégias de Backup e Restore

Passos para Restaurar um Banco de Dados

1. Realize um Backup de Tail-Log2. Determine o Target de Data para o Restore (somente nos modos de recovery full or bulk-logged)3. Identifique a lista de arquivos que serão utilizados5. Inicie a sequência do Restore

Page 46: Estratégias de Backup e Restore

Passos para Restaurar o Transaction Log

Page 47: Estratégias de Backup e Restore

Realizando Operações de Restore

• Restaurando uma Página Corrompida• Restaurando uma Tabela Específica• Restaurando Banco de Dados com erro em

um MDF

Page 48: Estratégias de Backup e Restore

• Cenário• Uma página de Dados de seu Banco está

corrompida2012-01-01 15:46:42.90 spid51 Error: 824, Severity: 24, State: 2.2012-01-01 15:46:42.90 spid51 SQL Server detected a logical consistency-based I/O error: incorrect pageid (expected 1:43686; actual 0:0). It occurred during a read of page (1:43686) in database ID 23 at offset 0x0000001554c000 in file 'H:\MSSQL\DATA\my_db.mdf'. Additional messages in the SQL Server error log or system event log may provide more detail. This is a severe error condition that threatens database integrity and must be corrected immediately. Complete a full database consistency check (DBCC CHECKDB). This error can be caused by many factors; for more information, see SQL Server Books Online.

Restore de Páginas Corrompidas

Page 49: Estratégias de Backup e Restore

Restore de Páginas Corrompidas

1. Obter os id(s) das páginas corrompidas2. Inicie com um Restore de Database selecionando as Páginas com problema3. Aplique os Backups de Log subsequentes

Passos a Seguir :

Page 50: Estratégias de Backup e Restore

Restaurarando uma Tabela Específica

Cenário :

Uma importante tabela precisa ser restaurada, sem que todo o Banco de Dados precise ser reescrito

Page 51: Estratégias de Backup e Restore

Restaurarando uma Tabela Específica

1. Restaure o backup do Datafile que contem a tabela2. Restaure o Backup direfencial para cada arquivo3. Restaure os Transaction Logs sequencialmente4. Realize o Recover do Database

Pré-requisito : A Tabela precisa ser criada em um Datafile separadoPassos a Seguir :

Page 52: Estratégias de Backup e Restore

Restaurando Banco de Dados com erro de MDF

Cenário :

Um dos Data Files do Banco não pode ser acessado

Page 53: Estratégias de Backup e Restore

Restaurando Banco de Dados com erro de MDF

1. Realize o Backup de Tail Log2. Restaure o backup do Database3. Restaure os Transaction Logs sequencialmente4. Restaure o restore do Tail Log

Passos a Seguir :

Page 54: Estratégias de Backup e Restore

Perguntas ?

Page 55: Estratégias de Backup e Restore

Microsoft Confidential

© 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.

The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee

the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.