KAP 16 BACKUP, RESTORE OCH RECOVERY



Relevanta dokument
KAP 18 SQL SERVER AGENT

Innehåll Security. Chapter 4 och 7 Beginning SQL Server 2008 for Developers

Administration av SQL Server. Laboration ADM2

Kunskapsbank ICARUS DB

Databasutveckling Microsoft T-SQL - Fortsättning. Funktioner GROUP BY HAVING Skapa databaser Skapa tabeller Lite om transaktioshantering

JobOffice SQL databas på server

Backup Premium Snabbguide

Databasföreläsning. Del 2 lagrade procedurer, vyer och transaktioner

Manual - Phonera Online Backup

LEX INSTRUKTION REPLIKERING UPPGRADERING

SQL Server bygger på ett antal Windows tjänster (services), vilket är prioriterade program som körs i bakgrunden under OS kontroll.

Kunskapsbank ICARUS DB

Innehåll Översikt: Arbeta med databaser... 3 Översikt databaser i SQL Server... 4 Översikt databaser i SQL Server... 5 Hur information lagras i SQL

Innehållsförteckning. Användarmanual för Lockbee Backup Databas 2009

Transaktioner. 1. Transaktioner 2. Samtidighet ( concurrency ) och lås. 3. Deadlock. Kap. 17. Informatik B: Databashantering med SQL Server

Årsskiftesrutiner i HogiaLön Plus SQL

Installationsanvisningar VisiMIX. Ansvarig: Visi System AB Version: 2.2 Datum: Mottagare: Visi MIX kund

Årsskiftesrutiner i HogiaLön Plus SQL

ÖVERVAKNING AV SQL SERVER

Storegate Pro Backup. Innehåll

Rebus Backup för SQL-databaser

Din guide till. Byte av databas. Från MSDE till SQL Express

Användarhandbok. Nero BackItUp. Ahead Software AG

LEX INSTRUKTION - REPLIKERING

Säkerhetskopiering och återställning

Backup och återställning

SiteVision 2.0. Driftdokumentation

Memeo Instant Backup Snabbguide. Steg 1: Skapa ett gratis Memeo-konto. Steg 2: Anslut din lagringsenhet till datorn

Innehåll Security. Chapter 4 och 7 Beginning SQL Server 2008 for Developers

OBS! Det är av största vikt att innan konfiguration av modulen, genomfört de inställningar som presenteras med bilagorna till denna manual.

Flytt av. Vitec Mäklarsystem

AVCAD 4.0 för Windows

Säkerhetskopiering. Vid säkerhetskopiering av Capitex Säljstöd så är det viktigt att säkerhetskopiera följande information.

Säkerhetskopiera och återställa

Guide för överföring av kurser från Moodle 1.9 till 2.4

BOOK-IT 6.0. Backup Solaris

Windowsadministration I

Marcus Wilhelmsson 12 april 2013

Krav: * Filen MpUpdate.exe får inte köras när du startar denna uppdatering.

Uppdatera Mobilus Professional till version * Filen MpUpdate.exe får inte köras när du startar denna uppdatering.

Uppstart Inloggning SSMS Skapa Databas Skapa Tabell Skapa Diagram, Fk, RI Hantering av Index, Pk, Fk, Ix Constraints Beräknande fält Några funktioner

Föreläsning 6 Databaser och säkerhet

Lär känna MS SQL 2008 / Övning. Observera. Tips. Förberedelse

Innehåll. 7. Hur vet jag vilken storlek på licensen jag har?... 19

För att XCOPY i SQL Server Express ska fungera måste data och logg ligga i samma mapp, vilket naturligtvis inte är så bra.

Installation/uppdatering av Hogia Personal fr.o.m. version 13.1

Installationsanvisning. Dokumenttyp Installationsanvisning Område Boss med delad databas

Administrationsmanual ImageBank 2

Säkerhetskopiering Mina dokument Raid är en enkel och automatisk säkerhetskopiering med flera hårddiskar

Programvaruuppdatering, säkerhetskopiering och återställning

Installationsanvisning Boss delad databas

SQLs delar. Idag. Att utplåna en databas. Skapa en databas

Användarhantering Windows 7 I denna laboration kommer vi att skapa nya användare och grupper och titta på hur man hantera dessa.

Boss installationsmanual förberedelser

Säkerhetskopiering - SQL

Databaser design och programmering. Transaktionshantering och säkerhet säkerhetsproblem fleranvändarproblem transaktioner låsning

Starta och stänga av datorn. Att starta är i allmänhet problemfritt, men man bör vänta med aktiviteter (starta program) tills startfilerna är

Stored procedure i ASP.NET

Installera SoS2000. Kapitel 2 Installation Innehåll

VIDA CONFIGURATION VIDA ALL-IN-ONE

INSTALLATION AV VITEC MÄKLARSYSTEM

Spara papper! Skriv inte ut sammanfattning utan ladda ner PDF!

1.Lär känna MS SQL Observera. Tips. Förberedelse

Installation xvis besökssystem, Koncern

1. Säkerhetskopiera den eller de byråer du har arbetat med via i Visma Klient.

Spara papper! Skriv inte ut sammanfattning utan ladda ner PDF!

Författare Version Datum. Visi System AB

Denna laboration skapades för elever vid Roslagens Högskola men kan användas av vem som helst. Namnen på servrarna måste i så fall ändras.

Backup till extern hårddisk eller USB-minne

FORT! Installera programmet nu!

Säkerhetskopiering en försummad rutin

Säkerhetskopiering och återställning Användarhandbok

Innehåll. 9. Hur vet jag vilken storlek på licensen jag har?... 16

7 Mamut Client Manager

Säkerhetskopiering och återställning Användarhandbok

Acer erecovery Management

Ny installation...2. Översikt...2. Filer som behövs...2. Installera SQL Server Express (om det behövs)...3. Skapa en databas i SQL Server...

Elements, säkerhetskopiering och dina bilder

Uppdatera Metem 3005 till M7005

Detta dokument skall ge en kortfattad introduktion till Jasmine installationen vid DSV.

Bruksanvisning för Mac

Användarmanual. Meetings 1.5

Inledande frågor 1. Hur stor kunskap har du inom säkerhetskopiering? Har stor kunskap Kan lite Kan lite

Funktionella tester av Secure Backup

E-posthantering med Novell Groupwise WebAccess

Innehåll. 9. Hur vet jag vilken storlek på licensen jag har?... 25

Om Mappar Uppgift 1: Skapa en mapp på Skrivbordet... 2 Om enheter... 3 Uppgift 2: Byt namn på din nya Höst -mapp till Vår...

Säkerhetskopiering och återställning Användarhandbok

GitHub for Windows och GitShell

Manuell installation av SQL Server 2008 R2 Express för SSF Timing

Idag. Hur skapar vi och underhåller en databas? DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

BACKUP HD-SERIENS ANVÄNDARHANDBOK

Swoscom OBM Snabbstartsguide

Databasutveckling Introduktion till SQL och TSQL

Manual Godman Redovisning

Hur patchar man Entré?

Fillagringsplatser. Fillagringsplatser (information om fillagringsplatserna du har att tillgå på Konstfack) Inledning... 12

Transkript:

KAP 16 BACKUP, RESTORE OCH RECOVERY Backup - strategier Backuptyper Recoverymodeller Backup med Management Studio Backup med TSQL Hur transaktionsloggen fungerar Automatiskt återhämtning (Recovery) Återhämta databaser - Recover Återställning (restore) av databas med Mstudio Återställning (restore) av databas med TSQL 1 BACKUP Med en backup kan du återställa databasen från Fel på media Fel på system-mjukvara Oavsiktlig felaktig användning av delete och update DELETE Customers DROP DATABASE SalesProduction Format C: UPDATE Employees SET Salary=200000 Elaka virus Naturkatastrofer Klantiga tekniker Eldsvådor Stöld En databas representerar för de flesta en mycket värdefull investering Det gäller att förvalta den väl med genomtänkta säkerhetskopieringar 2 1

BACKUPSTRATEGI Var alltid beredd på det värsta! Ditt jobb är att förbereda för katastrofer och hoppas att du aldrig behöver använda dina förberedelser. Det finns inget som heter paranoid när det gäller backuper! Data som förlorats är borta för evigt! Det finns två sorters diskar sådana som har gått sönder sådana som ännu inte gjort det Utveckla en backupstrategi Backupstrategin bestämmer punkten fram till vilken databasen kan återställas efter en katastrof. Den strategi som ska väljas bestäms av hur viktiga dina data är. Det räcker normalt inte att kunna återställa backupen från i söndags! Man måste kunna återställa till tidpunkten för krashen! Det är här transaktions-loggen kommer till räddning, den innehåller information om vilka kommandon som har förändrat databasen. I händelse av en krasch är det möjligt att köra kommandon igen (ROLLFORWARD) för att återhämta (recover) databasen från den senaste backupen fram till godtycklig tidpunkt. För att detta ska fungera måste man emellertid se till att databasen är inställd på rätt Recovery model. Se längre fram! 3 BACKUPSTRATEGI Hur ofta och vilka typer av backupmedia som behövs beror på hur ofta och hur mycket databasen förändras med tiden. Det är vanligt att säkerhetskopiera (ta backup på) hela databasen 2 gånger per vecka och däremellan ta backup på transaktionsloggen och göra differentiella backuper flera gånger per dag. Man bör också använda sig av åtminstone tre generationer av backupmedia (t ex band) som man växlar mellan. Små databaser kan man med fördel alltid ta full backup på då de inte tar så stor plats och att det går snabbt, men glöm inte transaktionsloggen, den är viktig. Även systemdatabaserna ska säkerhetskopieras när något förändrats i systemet, t ex då man lagt till nya login, databaser och programmerade uppgifter. För att ta en säkerhetskopia (backup) behöver man inte kasta ut användarna utan all backuptagning kan göras online. Detta beror på att alla kommandon som påverkar databasen också sparas i transaktionsloggen. 4 2

BACKUPTYPER Flera backuptyper Full Differential Transaction log File eller group File differential - Fullständig kopia tas av databasen - Kopia tas på ändrade sidor sedan förra backupen - Kopierar endast transaktionsloggen - Kopierar endast angiven fil eller filgrupp - Alla ändrade sidor i filen sedan förra filbackupen Begrepp Backup - säkerhetskopiering Restore - återställning av säkerhetskopia Recover- återhämtning från krasch 5 ÅTERHÄMTNINGS (RECOVERY) MODELLER Simple Recovery Model Endast full databas och differentiell backup gfilen blir minimal Recovery model kan väljas på Properties - Kan endast återhämta (recover) kraschade filer till Options sidan till databasen senaste backup. Lämplig för små databaser med få uppdateringar, test-databaser samt även till master och msdb då dessa inte använder transaktioner. Full Recovery Model Säkraste recovery-modellen Kan återhämta (recover) från kraschade filer till godtycklig tidpunkt om inte transaktionsloggen är skadad. Transaktionsloggarna kan bli enormt stora BULK_LOGGED Recovery Model Tillåter mycket snabba bulk-operationer - Bulk Copy, BULK INSERT, SELECT INTO, WRITETEXT, UPDATE TEXT, CREATE INDEX Tar minimalt logg-utrymme då det endast loggas att en bulkoperation ägde rum. Kan återhämta (recover) kraschade filer till sista logg-backupen Servercrasch hanteras automatiskt av alla modellerna genom en ROLLFORWARD av comittade transaktioner (finns lagrade i transaktionsloggen) 6 3

Generalsidan SÄKERHETSKOPIERA MED MANAGEMENT STUDIO #1 Välj backuptyp Full Differentiell g Välj databas fil filgrupp Sökväg till backup Fil Device OBS! Endast lokala diskar är åtkomliga via interfacet. Om du ska spara backup'en på en nätverksdisk anges UNC - sökväg eller så skapar du en Backup Device som är ett alias till sökvägen. SQL Server måste ges skriv och läsrättighet där. 7 Optionssidan SÄKERHETSKOPIERA MED MANAGEMENT STUDIO #2 Addera till befintlig Skriv över Kolla media & datum Verifiera backup Komprimera backup? Default inställning Komprimera Komprimera inte Komprimering av backupen gör den snabbare och mindre! Endast Enterprise- och Developer-versionerna har komprimering. Återställning kan göras av alla versioner fr.o.m. 2008 8 4

ATT SÄKERHETSKOPIERA EN DATABAS MED TSQL Säkerhetskopiering av hel databas med TSQL BACKUP DATABASE NorthWind TO DISK = 'D:\backup\Nwbackup.bak' [WITH COMPRESSION] Differentiell backup med TSQL BACKUP DATABASE NorthWind TO DISK = 'D:\backup\Nwbackup.bak' WITH DIFFERENTIAL [, COMPRESSION] Säkerhetskopiering av Transaktionsloggen med TSQL BACKUP LOG Northwind TO DISK = 'D:\backup\Nwbackup.bak' [WITH COMPRESSION] En liten test av filstorlek för backup med och utan komprimering gav resultatet: 1062/3673 KB 9 HUR TRANSAKTIONSLOGGEN FUNGERAR I transaktionsloggen sparas information om utförda kommandon. gstart Äldsta uncommited transaction Checkpoints gslut 141 142 143 144 145 146 147 148 begin begin update Check Point update Commit Check Point Update INACTIVE ENTRIES sparade ACTIVE Entries EJ sparade 1. Till vänster påbörjas (141), därefter påbörjas (142) som fortsätter i (143). 2. Därefter kommer en CHECKPOINT (144). Vid en checkpoint sparas bland annat commit'ade transaktioner till disk. Det finns inga sådana transaktioner ännu. 3. Tran 1 fortsätter (145) och avslutas med commit i (146). 4. Vid kommande CHECKPOINT (147) sparas nu transaktionen som började i (141). 5. Allt till vänster om äldsta uncommited transaktion 142 ligger nu på disk och är nu INACTIVE Entries. 6. Transaktionen som började med (142) fortsätter nu att köras i (148) och ligger fortfarande i de ACTIVE Entries som inte sparats på disk. = Sequence Number 10 5

TRANSAKTIONSLOGGEN De flesta MS använder Write - Ahead log vilket innebär att modifikationer skrivs till loggen innan de skrivs till databasen. Detta garanterar återskapande av högsta klass. Förra backupen En CHECKPOINT Inträffar c:a en gång per minut, beroende på belastning "Commit'ade" datasidor skrivs till databasen Aktiva transaktioner bokförs i loggen INACTIVE ENTRIES sparade (ej backup) Tail of the log Inaktiva loggposter raderas vid simple recovery model. ACTIVE Entries EJ sparade Vid andra recoverymodeller tas inaktiva loggposter bort från loggen vid nästa backup av loggen. Vid datakrasch ska detta väljas bort. Istället ska man ta backup på Tail of the log så att kommandon efter förra backup'en kan köras igen. 141 begin 142be gin 143 update 144 Check Point 145 update 146 Commit 147 Check Point 148 Update Radera inactive Entries med MStudio OBS! Om man inte tar backup på loggen blir den så stor att den till slut inte går att göra några operationer på databasen 11 AUTOMATISKT ÅTERHÄMTNING (RECOVERY) Alla databaser har en transaktionslogg, operationer som påverkar databas och data spelas in i denna logg och används till att återskapa efter mediafel eller förstörd databas för Full och Bulk logged recovery model Transaktionsloggen innehåller också information till "Automatic Recovery" efter Server-krasch, t ex strömavbrott. Det kan då hända att commit'ade transaktioner inte hunnit sparas på disk och man kan ana att det finns risk att dessa commit'ade transaktioner blir förlorade. Så är dock inte fallet, kraven enligt ACID 1) (Durability) säkerställer att dessa transaktioner även kommer att slutföras på ett säkert sätt. När datorn återstartas efter ev. reparation sker automatiskt "roll forward" på commit'ade men ej sparade transaktioner, dvs de körs en gång till. Transaktioner som ej var slutförda (uncommited transactions) vid serverkraschen görs rollback på och felmeddelande visas så att de kan utföras på nytt. Denna automatiska återhämtning (recovery) gäller alla recovery modellerna. 1) ACID Sammanfattar de fyra krav som ska ställas på en transaktion (atomicity, consistency, isolation och durability). Se hjälp eller googla! 12 6

ÅTERHÄMTA DATABASER - RECOVER Hur vet man att det uppstått problem? Fysiska fel på en enhet märks vanligen direkt! - Disken för oväsen eller står still - Databasen "försvinner" i MStudio Ser misstänkt tomt ut Andra fel visas i - SQL Server Error (Current + 6 äldre) - Windows NT Application log 13 ÅTERHÄMTNINGS (RECOVERY) SCENARIER #1 Vad som ska göras efter en krasch beror på vad som är skadat och vilken recovery model som används A. Om servern gått ner Om du fått strömavbrott, hårdvarufel som inte förstört datafiler, mm, så är det bara att starta om servern efter eventuell reparation. Automatic Recovery kör igång vid återstart och återställer committed transactions som inte hunnit ner på disk. (Roll forward). Rollback görs automatiskt på uncommitted transactions som får göras om. B. Datakrasch vid "Simple Recovery Model" Skadad transaktionslogg Om endast transaktionsloggen är skadad är det bara att starta om servern så skapas automatiskt en ny transaktionslogg på 1MB. Expandera denna om du behöver mer utrymme. Skadad databas Återstarta servern och återställ (Restore) den fulla backupen och differentiella backuper. Data ändrad efter sista backupen är förlorad 14 7

LS N LS N 143 144 145 146 147 148 ÅTERHÄMTNINGS (RECOVERY) SCENARIER #2 C. Full eller Bulk logged Recovery Model Både databasfil och transaktionslogg skadad Återställ (Restore) senaste fulla backupen, differentiella backuper, transaktionsloggar. Ändringar sedan den sista transaktionsloggs-backupen kommer att förloras. Endast skadad databas 1. Ta backup på aktuell transaktionslogg (innehåller transaktioner sedan senaste backup) med inaktiva poster kvar (NO_TRUNCATE) backup INACTIVE ENTRIES 2. Återställ: senaste fulla backupen differentiella backuper transaktionsloggar (även loggen i 1.) Tail of the log ACTIVE Entries ej sparade 3. Databasen kommer att blir återställd till tidpunkten för felet. 15 RESTORE / RECOVER Vad är det för skillnad mellan Restore och Recover? Restore (Återställning) säkerhetskopia (backup) återställes till databasen från backupmedium flytta/kopiera återställa skadade filer data ändrad efter senaste säkerhetskopieringen kommer att förloras Recovery (Återhämtning) återställer databas efter krasch till tidpunkt för krasch använder databasens loggar genom roll forward kräver tidigare full backup 16 8

ÅTERHÄMTNING (RECOVERY) MED "SIMPLE MODEL"? Till vilken punkt kan vi återhämta databasen om databasen kraschar kl 15.00 på Onsdag? Må 22 Full kopia Må 22.00 Full kopia On 22.00 Full kopia Fr 22.00 ÅTERHÄMTNING (RECOVERY) MED "FULL MODEL"? Antag att databasen krashar Onsdag kl 17.00. Till vilken punkt kan man återhämta (recover)? On 17 10.00 14.00 18.00 Söndag Måndag Tisdag Onsdag? 24.00 Full Vad gäller om transaktionsloggen också är skadad? On 14 Diff Diff Full 17 ÅTERSTÄLLNING (RESTORE) AV DATABAS MED MSTUDIO Högerklicka, välj Tasks -> Restore - General sidan Databasnamn Restore med info från msdb Restore från angiven fil Markera backup som ska återställas Börja med senaste fulla 18 9

ÅTERSTÄLLNING (RESTORE) AV DATABAS MED MSTUDIO Högerklicka, välj Tasks -> Restore - General sidan Nya namn och sökvägar kan anges till data och logg Lämna databasen i operationellt skick 19 ÅTERSTÄLLNING (RESTORE) AV DATABAS MED TSQL Återställning med TSQL är betydligt svårare då man måste ta reda på numret på ingående filer i backupen. Återställ en full databas backup (fil nr 1) och den senaste differentiella backupen (fil nr 7) RESTORE DATABASE mydb FROM DISK='c:\backup\mydb.bak' WITH PASSWORD = 'hemlig', FILE=1, NORECOVERY RESTORE DATABASE mydb FROM DISK='c:\backup\mydb.bak' WITH PASSWORD = 'hemlig', FILE=7 FILE är numret på backupen. Kan utforskas med RESTORE HEADERONLY FROM <backupdevice> Använd NORECOVERY på alla utom den sista "restoren" Se books online för detaljer! 20 10

LOGG-MARKERINGAR Applikationer kan sätta markeringar i transaktionsloggen för att markera när en viss transaktion börjar: BEGIN TRANSACTION abc WITH MARK 'abc tran' Det är sedan möjligt att återställa till eller till och med en sådan markering i loggen. Den sista återställningen av loggen kan då se ut så här: RESTORE DATABASE mydb FROM DISK='c:\backup\mydb.bak' WITH FILE=3, STOP AT 'abc tran' Man kan också återställa till viss tidpunkt:: RESTORE DATABASE mydb FROM DISK='c:\backup\mydb.bak' WITH FILE=3, STOP AT 'Apr 15, 2005 12:00 AM' Se books online för detaljer! 21 ÅTERSTÄLLA MASTER-DATABASEN Om masterdatabasen blivit skadad går det inte att starta SQL Server. Det som då måste göras är att installera en ny masterdatabas från installationsdisken. Därefter kan SQL Server startas på nytt. Det kommer dock inte finnas några databaser och login-konton registrerade. Alla programmerade jobb har också försvunnit. För att få tillbaka allt detta återställer man backupen till master och msdbdatabaserna. Allt detta beskrivs i hjälpen och har man bara en aktuell backup på master och msdb databaserna går det att återställa servern i ursprungligt läge. Se books online för detaljer! 22 11