2017-01-03 Åbergs DataSystem AB Backup av Rebus databaser När man arbetar med SQL-databaser är det väldigt viktigt att man tar backup på databaserna varje dag. Man kan annars förlora data om datorn, servern eller hårddisken går sönder. Backup av databaserna kan göras på tre olika sätt. Antingen kan SQL-motorn ställas in att göra backup. Det används ofta av företag som använder en stor SQL Server och har egna tekniker som kan detta, t.ex. de företag som driftar Rebus åt reseföretag. Man kan också ställa in Rebus-panelen så att den gör backup. Sedan kan man ställa in servern att köra backup vid en viss tidpunkt genom att Windows anropar ett skript (BAT-fil). Alla tre fall skapar BAK-filer av Rebus-databaserna, t.ex. - Rebus1_Data1.BAK - Rebus2_Data1.BAK - Rebus4_Data1.BAK - Rebus6_Data1.BAK Dessa BAK-filer kan sedan användas för att återläsa data efter en krasch. I SQL Server kan man göra Restore av backup-filerna och då återfår man data som det såg ut vid backup-tillfället. Alternativ 1: SQL Server ställs in för att göra backup. Det här avhandlas inte i denna manual eftersom teknikerna som sköter SQL Server hanterar detta. Alternativ 2: Rebus-panelen ställs in för att göra backup Man kan ställa in Rebus att göra backup vid vissa tidpunkter. I detta scenario kan man ha en oinloggad Rebus-panel startad på servern eller också utser man en specifik dator som ska vara på och göra backup. Ställ alltså in så att endast en, och inte flera datorer, gör backup. Starta en Rebus-panel. Avbryt inloggningen så att panelen startar i oinloggat läge. Sida 1
Vill man alltid hoppa över loginrutan kan man ändra det i filen Rebus.ini på aktuell dator (oftast servern). Högerklicka då på Rebus-panelen och välj Ändra företag/ini-fil och klicka på knappen Editera i Rebus ini-fil. Sätt 1 i fältet NoLogin och klicka på Slutför-knappen så sparas denna ändring. Avsluta Rebuspanelen och starta om den. Då hoppas loginrutan förbi och panelen visas i oinloggat läge. Då kan Rebus-panelen läggas som autostart om servern behöver startas om. Då fortsätter vi med inställningarna för backup. Högerklicka på Rebus-panelen. Välj SQL: Backupdata. Följande inställningsformulär dyker då upp. Sida 2
Här gör man alla inställningar för hur programmet ska logga in på SQL-servern samt hur och när backup ska göra. Användare Ange samma användare som används när Rebus loggar in mot SQL Server. Det är nästan alltid SA. Lösenord Ange lösenordet som användaren använder för att logga in mot SQL Server. Sökväg backup Ange i vilken katalog på servern som backup-filerna ska sparas. Backupnamn Här kan man välja hur backupfilerna ska namnges. Vi rekommenderar val 5 vilket gör att man får en backupfil per databas per veckodag, t.ex. Rebus1-Monday.bak, Rebus1-Tuesday.bak. Backuptyp Ange val 2 Vanligt SQL-kommando (kan köras på alla datorer) Backupdagar Ange med siffror vilka dagar backup ska skapas. 1=Måndag, 2=Tisdag, 3=Onsdag, 4=Torsdag, 5=Fredag, 6=Lördag, 7=Söndag och 0=Alla dagar. Sida 3
Backuptid Det finns fält för att ange upp till tre backuptider. Detta för att kunna köra backup upp till tre gånger per dag t.ex. klockan 08.00, 12.00 och 22.00 om man vill. Vill man endast använda en tidpunkt skriver man t.ex. 23.00 på första fältet och lämnar de andra tomt (eller 0). Vill man att Rebus-panelen ska skicka en e-post till någon för att tala om ifall det gått bra eller dåligt med backup så kan man ange e-postuppgifterna, t.ex. e-postserver och e-postmottagare m.m. Om det är korrekt inställt så kommer vald person att få en daglig e-post för status på backup. Vill man göra en backup direkt utan att vänta på tider klickar man på knappen Gör backup nu!. BAK-filerna som skapas sparas i detta exempel i katalogen C:\SQLBackup på servern som kör SQL Server. Det behöver alltså inte vara katalogen på samma dator som kör backupen. Alternativ 3: Backup av Rebus databaser görs med BAT-fil Man kan låta Windows-datorn köra ett skript (BAT-fil) som skapar backupfiler. Här är ett exempel på innehållet i en BAT-fil som gör backup av databaserna för Rebus. SqlCmd -U SA -P rebus#123 -S peter-w8\sql2012express -Q "BACKUP DATABASE [Rebus1_Data1] TO DISK = 'C:\temp\Rebus1_Data1.bak'" SqlCmd -U SA -P rebus#123 -S peter-w8\sql2012express -Q "BACKUP DATABASE [Rebus2_Data1] TO DISK = 'C:\temp\Rebus2_Data1.bak'" SqlCmd -U SA -P rebus#123 -S peter-w8\sql2012express -Q "BACKUP DATABASE [Rebus4_Data1] TO DISK = 'C:\temp\Rebus4_Data1.bak'" SqlCmd -U SA -P rebus#123 -S peter-w8\sql2012express -Q "BACKUP DATABASE [Rebus6_Data1] TO DISK = 'C:\temp\Rebus6_Data1.bak'" -U Loginnamn till SQL-servern (SA) -P Password för kontot på SQL-servern -S Namn och instans på SQL-servern -Q SQL-kommandot BAT-filen måste ligga på samma server som SQL-servern ligger. Sedan ska vi i Windows lägga in en tidpunkt då detta skript ska köras. Det görs i Kontrollpanelen/Administrationsverktyg. Välj Schemaläggaren. Sida 4
Välj Skapa aktivitet Fyll i följande under fliken Allmänt o Skriv in namn och beskrivning o Markera Kör oavsett om användaren är inloggad eller inte Sida 5
Gå till fliken Utlösare - Välj Ny - Markera Varje dag - Ange tiden som backupen ska genomföras Sida 6
Gå till fliken Åtgärder - Välj Ny - Åtgärd Starta ett program - Skriv i vilken katalog filen finns och vad den heter eller hämta fram filen via Bläddra Nu är det som behövs registrerat och backup ska framöver triggas när tidpunkten infaller. Kontrollera att det fungerar! OBSERVERA: Åbergs DataSystem AB tar inte något ansvar för funktionaliteten. Dokumentet beskriver bara hur man kan ta backup på databaserna. Ansvaret ligger helt på användaren att sköta sina egna backuper. Sida 7