Kvalitetsgranskning av databasmodell, SQL kod, databassäkerhet, backup/restore rutiner, utvecklingsrutiner och driftrutiner. Denna granskning syftar till…
Tänk dig att klockan är 3 på natten, och mitt i skönhetssömnen ringer telefonen. Det är någon från jobbet som ringer med panik i rösten och säger att det är nåt fel på den viktiga produktionsdatabasen. Eftersom du är rutinerad vet du att det ofta inte är riktigt så illa som det låter, men du lovar ändå att kolla på det så fort du kan. Du kopplar upp dig, öppnar Management Studio, och ser direkt att databasen är markerad som ”Suspekt”. Efter ingående felsökning inser du att denna gång är det på riktigt. Databasen är helt korrupt, och nu gäller det att lösa situationen så fort som möjligt, så att Den Viktiga Applikationen kan komma igång igen. Du vet inte vad som orsakat problemet, om det är fel på SAN’et till exempel, eller kanske någon minnesmodul som är trasig.
Här är en lista på 5 saker som du i detta fall kommer att vara mycket glad att du gjort INNAN problemet inträffade
Ta backup regelbundet
Den absoluta grundförutsättningen för att få tillbaka ditt data vid en katastrof är att du först gjort en säkerhetskopia av det. När det gäller viktiga SQL Server databaser skall du regelbundet (till exempel varje dygn) göra fullständiga backuper, och väldigt ofta (till exempel var 5:e minut) göra backup av förändringar dvs Logbackup. Backupfilerna skall så fort som möjligt hamna på ett annat ställe än dina databaser ligger, så att ett problem med diskarna där inte skall förstöra även dina backuper.
Testa och verifiera backuperna genom återläsningstester
Om dina backuper går bra, behöver det tyvärr inte betyda att varken databasen eller backupfilen är OK. Därför är det viktigt att regelbundet testa att backupfilerna går att återläsa utan problem. För att säkerställa att detta verkligen sker regelbundet, rekommenderar vi att återläsningen automatiseras, annars finns alltid risken att det glöms bort. Och givetvis skall du få ett larm direkt om det INTE går att återläsa dina backuper.
Regelbundet återkommande konsistenskontroller
För att säkerställa att din databas är hel och utan fel, gör du en konsistenskontroll med hjälp av kommandot DBCC CHECKDB. Det allra bästa är om detta precis innan varje fullbackup, då vet du status på databasen vid tidpunkten för backup. Även här vill du givetvis få ett larm ifall någon databas inte är helt frisk
Slå på rättigheten ”Perform Volume Maintenance Tasks” för SQL Server tjänstekontot
Om du behöver återläsa en backup, kan du spara mycket tid genom att först ha tilldelat SQL Server tjänstekontot rättigheten ”Perform Volume Maintenance Tasks”. Det kan i vissa fall nästan halvera tiden det tar att köra en återläsning.
Spara CREATE script för Logins och SQL Server Agent Job
Om du måste återläsa din databas till en annan server, är det sannolikt inte bara databasen du behöver för att din applikation skall fungera. Inloggningskonton för applikationen, rättigheter och SQL Server agent jobb är exempel på andra objekt som kan vara viktiga för helheten
Även om katastrofer inte inträffar så ofta, är det väl spenderad tid att förbereda vissa saker innan. Om du har frågor eller funderingar, maila oss gärna, eller skriv en kommentar nedan!