28
DATABASE BACKUP EN RESTORE 101 Crash – Koffie – Restore – Koffie – Held!

Crash – Koffie – Restore – Koffie – Held!. Agenda Introductie Backups; waarom eigenlijk? Recovery modellen Help! Mijn datafile is weg? Losgeslagen

Embed Size (px)

Citation preview

Page 1: Crash – Koffie – Restore – Koffie – Held!. Agenda  Introductie  Backups; waarom eigenlijk?  Recovery modellen  Help! Mijn datafile is weg?  Losgeslagen

DATABASE BACKUP EN RESTORE 101

Crash – Koffie – Restore – Koffie – Held!

Page 2: Crash – Koffie – Restore – Koffie – Held!. Agenda  Introductie  Backups; waarom eigenlijk?  Recovery modellen  Help! Mijn datafile is weg?  Losgeslagen

Agenda Introductie Backups; waarom eigenlijk? Recovery modellen Help! Mijn datafile is weg? Losgeslagen logfiles... Piecemeal restore, 3 gangen restore De master is dood, leve de master! Q&A

Page 3: Crash – Koffie – Restore – Koffie – Held!. Agenda  Introductie  Backups; waarom eigenlijk?  Recovery modellen  Help! Mijn datafile is weg?  Losgeslagen

Introductie Robert Hartskeerl 10 jaar ervaring met SQL 2000+ MCITP SQL 2005/2008 DBA en Developer Ervaring met aanverwante MS technologiën Maar ook Linux, MySql en Apache Blog: http://sqlblog.hartskeerl.nl Email: [email protected] Twitter: http://twitter.com/rhartskeerl

Page 4: Crash – Koffie – Restore – Koffie – Held!. Agenda  Introductie  Backups; waarom eigenlijk?  Recovery modellen  Help! Mijn datafile is weg?  Losgeslagen

Waar gaat het niet over? Backup performance Database snapshots VSS Writers en VDI Microsoft Data Protection Manager Iedere andere 3rd party backup tool Marked transactions Geavanceerde restore technieken (bv. Page

restores)

Page 5: Crash – Koffie – Restore – Koffie – Held!. Agenda  Introductie  Backups; waarom eigenlijk?  Recovery modellen  Help! Mijn datafile is weg?  Losgeslagen

Backups. Waarom eigenlijk? We leven van informatie die we halen uit

databases. Als we gegevens verliezen, verliezen we ook de informatie. Essentiele informatie die we gebruiken bij onze dagelijkse beslissingen.

Page 6: Crash – Koffie – Restore – Koffie – Held!. Agenda  Introductie  Backups; waarom eigenlijk?  Recovery modellen  Help! Mijn datafile is weg?  Losgeslagen

Backups. Waarom eigenlijk? Verwijderen van data door virus, hacker

rancuneuze (ex) werknemer. Onbedoeld verwijderen of overschrijven van data. Kwijtraken van opslagmedia. Beheerfouten. Hardware falen. Data corruptie. Brand. Inbraak of vernieling. Natuurgeweld.

Page 7: Crash – Koffie – Restore – Koffie – Held!. Agenda  Introductie  Backups; waarom eigenlijk?  Recovery modellen  Help! Mijn datafile is weg?  Losgeslagen

Recovery modellen

FULL

• Weinig tot geen dataverlies

• LOG Backups• Page restore• Database

Mirroring• Log Shipping

BULK LOGGED

• Bulk transacties zijn minimaal gelogd

• LOG Backups

SIMPLE

• Geen logbackups

• Dataverlies afhankelijk van backup frequentie

Page 8: Crash – Koffie – Restore – Koffie – Held!. Agenda  Introductie  Backups; waarom eigenlijk?  Recovery modellen  Help! Mijn datafile is weg?  Losgeslagen

Recovery modellen

INSERT 1000

INSERT 1000

BATCH

UPDATE 1000

INSERT INTO

SELECT

DELETE WITH

TABLOCK

0

500

1000

1500

2000

2500

3000

3500

4000

4500

FULLBULKSIMPLE

Page 9: Crash – Koffie – Restore – Koffie – Held!. Agenda  Introductie  Backups; waarom eigenlijk?  Recovery modellen  Help! Mijn datafile is weg?  Losgeslagen

Recovery modellen

Minimaal logging gebeurt alleen wanneer: De tabel niet gerepliceerd wordt. TABLOCK wordt gebruikt. Als de tabel geen indexen heeft worden de

data pages minimaal gelogd Als de tabel een geclusterde index heeft en

leeg is wordt er minimaal gelogd.

Page 10: Crash – Koffie – Restore – Koffie – Held!. Agenda  Introductie  Backups; waarom eigenlijk?  Recovery modellen  Help! Mijn datafile is weg?  Losgeslagen

Help! Mijn datafiles zijn weg FULL: Iedere vrijdag 20:00u DIFF: Iedere dag, behalve vrijdag 20:00u LOG: Ieder uur

FULL LOGs DIFF LOGs CRASH

Dinsdag 08:22u

Page 11: Crash – Koffie – Restore – Koffie – Held!. Agenda  Introductie  Backups; waarom eigenlijk?  Recovery modellen  Help! Mijn datafile is weg?  Losgeslagen

Help! Mijn datafiles zijn weg

PRIMARY

LOGF:\D

ata

Id SpeakerName SessionTitle SlotDateTime Ed.

1 John D. Session title 1 6-3-2010 10:00 12 John D. Session title 2 6-3-2010 12:00 13 John D. Session title 3 6-3-2010 14:00 14 John D. Session title 4 22-10-2010 10:00 25 John D. Session title 5 22-10-2010 12:00 26 John D. Session title 6 22-10-2010 14:00 27 John D. Session title 7 2-4-2011 10:00 38 John D. Session title 8 2-4-2011 12:00 39 John D. Session title 9 2-4-2011 14:00 3

Page 12: Crash – Koffie – Restore – Koffie – Held!. Agenda  Introductie  Backups; waarom eigenlijk?  Recovery modellen  Help! Mijn datafile is weg?  Losgeslagen

Help! Mijn datafiles zijn weg

Scenario 1 – Datafiles en logfile zijn weg

FULL LOGDIFFLOG

Dinsdag 08.00

LOG

Page 13: Crash – Koffie – Restore – Koffie – Held!. Agenda  Introductie  Backups; waarom eigenlijk?  Recovery modellen  Help! Mijn datafile is weg?  Losgeslagen

Demo 1 – Data en logfile restore

Page 14: Crash – Koffie – Restore – Koffie – Held!. Agenda  Introductie  Backups; waarom eigenlijk?  Recovery modellen  Help! Mijn datafile is weg?  Losgeslagen

Help! Mijn datafiles zijn weg FULL: Iedere vrijdag 20:00u DIFF: Iedere dag, behalve vrijdag 20:00u LOG: Ieder uur

FULL LOGs DIFF LOGs CRASH

Dinsdag 08:22u

Page 15: Crash – Koffie – Restore – Koffie – Held!. Agenda  Introductie  Backups; waarom eigenlijk?  Recovery modellen  Help! Mijn datafile is weg?  Losgeslagen

Help! Mijn datafiles zijn weg

PRIMARY

G:\

Dat

a

Id SpeakerName SessionTitle SlotDateTime Ed.

1 John D. Session title 1 6-3-2010 10:00 12 John D. Session title 2 6-3-2010 12:00 13 John D. Session title 3 6-3-2010 14:00 14 John D. Session title 4 22-10-2010 10:00 25 John D. Session title 5 22-10-2010 12:00 26 John D. Session title 6 22-10-2010 14:00 27 John D. Session title 7 2-4-2011 10:00 38 John D. Session title 8 2-4-2011 12:00 39 John D. Session title 9 2-4-2011 14:00 3LOG

H:\

Dat

a

Page 16: Crash – Koffie – Restore – Koffie – Held!. Agenda  Introductie  Backups; waarom eigenlijk?  Recovery modellen  Help! Mijn datafile is weg?  Losgeslagen

Help! Mijn datafiles zijn weg

Scenario 2 – Datafiles zijn weg

FULL LOGDIFFLOG

Dinsdag 08.22

LOG

BACKUP TAIL LOG

Page 17: Crash – Koffie – Restore – Koffie – Held!. Agenda  Introductie  Backups; waarom eigenlijk?  Recovery modellen  Help! Mijn datafile is weg?  Losgeslagen

Demo 2 – Datafile restore

Page 18: Crash – Koffie – Restore – Koffie – Held!. Agenda  Introductie  Backups; waarom eigenlijk?  Recovery modellen  Help! Mijn datafile is weg?  Losgeslagen

Losgeslagen logfiles...

Page 19: Crash – Koffie – Restore – Koffie – Held!. Agenda  Introductie  Backups; waarom eigenlijk?  Recovery modellen  Help! Mijn datafile is weg?  Losgeslagen

Losgeslagen logfiles

VLF1 VLF2 VLF3 VLF4

Een logfile bestaat uit meerdere Virtual Log Files (VLF)Een VLF kan inactief (0) zijn of actief (2)

INSERT INTO dbo.t1 (c1, c2) values (default);BACKUP LOG sqlzat3 TO DISK = ‘sqlzat3_log.bak

VLF5 VLF6 VLF7 VLF8

Page 20: Crash – Koffie – Restore – Koffie – Held!. Agenda  Introductie  Backups; waarom eigenlijk?  Recovery modellen  Help! Mijn datafile is weg?  Losgeslagen

Losgeslagen logfiles... Een logfile bestaat uit meerdere Virtual Log

Files (VLF) Een logfile heeft actieve en niet actieve VLFs Niet actieve VLFs worden opnieuw gebruikt Een logfile groeit alleen als er geen niet-actieve

VLFs meer zijn Een actieve VLF wordt inactief bij een

CHECKPOINT onder het SIMPLE recoverymodel en bij een LOG BACKUP bij het FULL recoverymodel

Page 21: Crash – Koffie – Restore – Koffie – Held!. Agenda  Introductie  Backups; waarom eigenlijk?  Recovery modellen  Help! Mijn datafile is weg?  Losgeslagen

Demo 3 – Logfile management

Page 22: Crash – Koffie – Restore – Koffie – Held!. Agenda  Introductie  Backups; waarom eigenlijk?  Recovery modellen  Help! Mijn datafile is weg?  Losgeslagen

Piecemeal restore Online gedeeltelijke restore in Enterprise Ed. Ideaal voor bijvoorbeeld grote archief

databases. Belangrijkste data is snel online en op de

achtergrond wordt de restore verder uitgevoerd.

CURRENTPRIMARY ARCHIVE LOG

Page 23: Crash – Koffie – Restore – Koffie – Held!. Agenda  Introductie  Backups; waarom eigenlijk?  Recovery modellen  Help! Mijn datafile is weg?  Losgeslagen

Piecemeal restore

PRIMARY

LOG

N:\

Dat

a

Id SpeakerName SessionTitle SlotDateTime Ed.

1 John D. Session title 1 6-3-2010 10:00 12 John D. Session title 2 6-3-2010 12:00 13 John D. Session title 3 6-3-2010 14:00 14 John D. Session title 4 22-10-2010 10:00 25 John D. Session title 5 22-10-2010 12:00 26 John D. Session title 6 22-10-2010 14:00 27 John D. Session title 7 2-4-2011 10:00 38 John D. Session title 8 2-4-2011 12:00 39 John D. Session title 9 2-4-2011 14:00 3

CURRENTEd. 3+

ARCHIVEEd. 1-2

Page 24: Crash – Koffie – Restore – Koffie – Held!. Agenda  Introductie  Backups; waarom eigenlijk?  Recovery modellen  Help! Mijn datafile is weg?  Losgeslagen

Piecemeal Restore

• RESTORE db FILEGROUP=‘Primary’ WITH PARTIAL, NORECOVERY

Eerst moet de Primary filegroup online en

aangeven dat we een Partial restore gaan doen

• RESTORE db FILEGROUP=‘FG_A’ WITH NORECOVERY

Dan de volgen de overige filegroups in volgorde van

belangrijkheid.

• RESTORE LOG… en RESTORE WITH RECOVERY

Na iedere sequence moeten de logfiles weer

gerestored worden om de database online te brengen

Page 25: Crash – Koffie – Restore – Koffie – Held!. Agenda  Introductie  Backups; waarom eigenlijk?  Recovery modellen  Help! Mijn datafile is weg?  Losgeslagen

Demo 4 – Piecemeal restore

Page 26: Crash – Koffie – Restore – Koffie – Held!. Agenda  Introductie  Backups; waarom eigenlijk?  Recovery modellen  Help! Mijn datafile is weg?  Losgeslagen

De master is dood, leve de master!

Het restoren van systeem databases is niet anders dan normale databases.MODEL en MSDB kunnen we restoren net als

normale databasesBij de MASTER database wordt het iets

spannender.○ Als SQL Server niet meer start, eerst een REBUILD.○ De MASTER database kan alleen gerestored worden

als SQL in SINGLE USER mode gestart is.○ Daarna is het net een normale database. Ik zei ook

“iets” spannender.

Page 27: Crash – Koffie – Restore – Koffie – Held!. Agenda  Introductie  Backups; waarom eigenlijk?  Recovery modellen  Help! Mijn datafile is weg?  Losgeslagen

Demo 5 – Restore master

Page 28: Crash – Koffie – Restore – Koffie – Held!. Agenda  Introductie  Backups; waarom eigenlijk?  Recovery modellen  Help! Mijn datafile is weg?  Losgeslagen

Q&A Backing Up and Restoring Databases in SQL

Server Blog Paul S. Randal - Backup/Restore SQL Cat Team – Backup performance

compression SQL Cat Team - Backup performance VLDB o

ver netwerk whitepaper