Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Crash – Koffie – Restore – Koffie – Held! 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 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 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) 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. 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. Recovery modellen FULL BULK LOGGED • Weinig tot geen dataverlies • LOG Backups • Page restore • Database Mirroring • Log Shipping • Bulk transacties zijn minimaal gelogd • LOG Backups SIMPLE • Geen logbackups • Dataverlies afhankelijk van backup frequentie Recovery modellen 4500 4000 3500 3000 2500 2000 FULL 1500 BULK SIMPLE 1000 500 0 INSERT 1000 INSERT 1000 BATCH UPDATE 1000 INSERT INTO SELECT DELETE WITH TABLOCK 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. Help! Mijn datafiles zijn weg FULL: Iedere vrijdag 20:00u DIFF: Iedere dag, behalve vrijdag 20:00u LOG: Ieder uur Dinsdag 08:22u FULL LOGs DIFF LOGs CRASH F:\Data Help! Mijn datafiles zijn weg PRIMARY LOG Id 1 2 3 4 5 6 7 8 9 SpeakerName John D. John D. John D. John D. John D. John D. John D. John D. John D. SessionTitle Session title 1 Session title 2 Session title 3 Session title 4 Session title 5 Session title 6 Session title 7 Session title 8 Session title 9 SlotDateTime Ed. 6-3-2010 10:00 1 6-3-2010 12:00 1 6-3-2010 14:00 1 22-10-2010 10:00 2 22-10-2010 12:00 2 22-10-2010 14:00 2 2-4-2011 10:00 3 2-4-2011 12:00 3 2-4-2011 14:00 3 Help! Mijn datafiles zijn weg Scenario 1 – Datafiles en logfile zijn weg FULL DIFF LOG LOG LOG Dinsdag 08.00 Demo 1 – Data en logfile restore Help! Mijn datafiles zijn weg FULL: Iedere vrijdag 20:00u DIFF: Iedere dag, behalve vrijdag 20:00u LOG: Ieder uur Dinsdag 08:22u FULL LOGs DIFF LOGs CRASH G:\Data PRIMARY H:\Data Help! Mijn datafiles zijn weg LOG Id 1 2 3 4 5 6 7 8 9 SpeakerName John D. John D. John D. John D. John D. John D. John D. John D. John D. SessionTitle Session title 1 Session title 2 Session title 3 Session title 4 Session title 5 Session title 6 Session title 7 Session title 8 Session title 9 SlotDateTime Ed. 6-3-2010 10:00 1 6-3-2010 12:00 1 6-3-2010 14:00 1 22-10-2010 10:00 2 22-10-2010 12:00 2 22-10-2010 14:00 2 2-4-2011 10:00 3 2-4-2011 12:00 3 2-4-2011 14:00 3 Help! Mijn datafiles zijn weg Scenario 2 – Datafiles zijn weg BACKUP TAIL LOG FULL DIFF LOG LOG LOG Dinsdag 08.22 Demo 2 – Datafile restore Losgeslagen logfiles... Losgeslagen logfiles Een logfile bestaat uit meerdere Virtual Log Files (VLF) Een VLF kan inactief (0) zijn of actief (2) VLF1 VLF2 VLF3 VLF4 VLF5 VLF6 VLF7 VLF8 BACKUP LOG sqlzat3 TO DISK = ‘sqlzat3_log.bak INSERT INTO dbo.t1 (c1, c2) values (default); 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 Demo 3 – Logfile management 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. PRIMARY CURRENT ARCHIVE LOG Piecemeal restore PRIMARY N:\Data LOG CURRENT Ed. 3+ ARCHIVE Ed. 1-2 Id 1 2 3 4 5 6 7 8 9 SpeakerName John D. John D. John D. John D. John D. John D. John D. John D. John D. SessionTitle Session title 1 Session title 2 Session title 3 Session title 4 Session title 5 Session title 6 Session title 7 Session title 8 Session title 9 SlotDateTime Ed. 6-3-2010 10:00 1 6-3-2010 12:00 1 6-3-2010 14:00 1 22-10-2010 10:00 2 22-10-2010 12:00 2 22-10-2010 14:00 2 2-4-2011 10:00 3 2-4-2011 12:00 3 2-4-2011 14:00 3 Piecemeal Restore Eerst moet de Primary filegroup online en aangeven dat we een Partial restore gaan doen • RESTORE db FILEGROUP=‘Primary’ WITH PARTIAL, NORECOVERY Dan de volgen de overige filegroups in volgorde van belangrijkheid. • RESTORE db FILEGROUP=‘FG_A’ WITH NORECOVERY Na iedere sequence moeten de logfiles weer gerestored worden om de database online te brengen • RESTORE LOG… en RESTORE WITH RECOVERY Demo 4 – Piecemeal restore 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 databases Bij 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. Demo 5 – Restore master 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 over netwerk whitepaper