Gå direkte til indhold

SQL Server – Avveckla en databas del 2

lästid I minuter: 2

I del 1 tittade vi på lite olika tekniker för att se om databasen använts, nu ska vi gå vidare och titta på olika rutiner för att avveckla databasen på ett bra sätt. Jag tycker själv att avveckla databaser är rätt så tråkigt, man får leta efter rätt människor, tjata och påminna.

Vanligen är det ingen som är speciellt sugen att ta ansvar för vad som händer om databasen egentligen används, fast bara en gång om året osv.
Ett tips är ha färdiga rutiner, eller processer som det så fint kallas nu för tiden, som passar in hos den kund eller organisation du jobbar med. Rutinen ska även passa in med företagets backup och arkiveringsrutiner.

När vi har konstaterat med en eller flera av metoderna i del 1 eller på annat sätt att databasen inte används vill vi troligen stänga ner databasen eller begränsa åtkomst några veckor, viktigt att vi även tittar vilka objekt utanför databasen som är relaterade, tex logins, sql jobb, replikering, mirroring etc och stänger av dessa. Vi ska även senare ta bort dessa så det är lika bra att dokumentera allt sådant redan nu, passa även på att informera alla berörda om tidsplanen för avvecklingen. I dokumentation/CMDB bör en notering göras att databasen kommer att avvecklas inom kort. Glöm inte heller att ta bort databasen från övervakningsverktyg, statistik och backup hanterings verktyg så det inte blinkar rött hos kollegorna i onödan.

Begränsa åtkomst
Det finns några olika varianter vi kan begränsa åtkomst men ändå snabbt få igång databasen om det nu ändå skulle behövas:

  • Sätta databasen i OFFLINE läge. Databasen helt ner stängd, går ej att nå förrän den sätts ONLINE igen.
  • Sätta databasen i READONLY läge. Skrivskyddat läge, det går att göra backup.
  • Sätta databasen i RESTRICTED_USER läge. Ger endast åtkomst till db_owners och sysadmin/db_creator server rollerna.
  • Ta bort/disabla logins kopplade till users i databasen. Kan dock även påverka andra åtkomst till andra databaser som inte ska avvecklas.

Ta bort och arkivera databas och tillhörande objekt
Efter att databasen varit ner stängd eller i begränsat åtkomstläge en tid, tex en månad bör vi gå vidare enligt nedan lista:

  • Scripta ut logins (använd Microsofts Transfer logins script så hänger lösenord med)
  • Script ut ev sql jobb, replikering, mirroring och annat som är relaterat till databasen
  • Gör en sista DB backup, spara ner för arkivering tillsammans med ovan nämnda script
  • Ta bort från ev övervakningsverktyg, backuphantering, statistik insamling, central hantering, repositories etc
  • Ta bort alla relaterade objekt
  • Ta bort databasen
  • Uppdatera dokumentation/CMDB

Arkivering
Beroende på företags krav bör du troligen göra någon form av arkivering eller avlämning till system ägare el dyl.
Här är några arkiverings varianter:

  • Backup band
  • Optiskt media DVD/Bluray
  • Billig disk typ SATA, antingen någon form av diskkabinett/NAS/SAN eller annan lösning

/Fredrik

Ska vi träffas och prata om vad vi konkret kan göra för dig?