Som nevnt i innledningen så er det ofte slik at man kjører en backup/restore operasjon fra selve programvaren (LOB) som bruker databasen, typisk økonomisystemet, ordresystemet etc…
Men det er ikke alltid dette er mulig, for eksempel ved serverkræsj, manglende funksjonalitet, feil som oppstår etc..
I mitt tilfelle klarte ikke LOB’en å kjøre restore av backup etter at den var flyttet til ny server.
Det betydde en manuell flytting og det som er viktig da er å få flyttet bruker logins også.
Jeg fant noen flotte KB artikler som jeg benyttet som base:
KB 314546 – How to move databases between computers that are running SQL Server
KB 246133 -- How to transfer logins and passwords between instances of SQL Server
Artiklene inneholder mye info på hvordan man flytter databasen, jobber, alerts med mer. Jeg hadde ikke behov for å flytte jobber som lå i SQL Agent eller alle brukerne som lå inne (Fordi databasen fra nå av kun skulle brukes til oppslag av en bruker) så min prosedyre er noe kortere:
På gammel server:
1. Start SQL Server Management Studio
2. Høyreklikk databasen du skal flytte og kjør ut en backup til fil.
3. Flytt filen over til ny server
På Ny server:
1. Start SQL Server Management Studio
2. Høyreklikk “Databases” og velg “Restore Database”
a. Vinduet for “Restore Database” dukker opp og man skriver inn databasenavn i “to database”
b. Velg “From device” og bla frem til backup filen du kjørte ut tidligere.
c. Filen dukker da opp i vinduet “Select the backup sets to restore” og husk da å huke av for “restore”
d. Velg så“Options” i menyen til venstre
i. Skriv inn/bla frem til ny filbane der databasefil og logg fil skal ligge.
e. Du er nå klar til å kjøre i gang og velger da “ok” knappen nederst til høyre.
3. Når restore operasjonen er ferdig kan det lønne seg å skaffe minimum en bruker tilgang til login. For å gjøre dette må man kjøre følgende script på databasen (stå på databasen og kjør en query):
a. kjør: sp_change_users_login 'report' ← dette gir deg navnet på brukeren som brukes på den nye serveren
b. kjør: sp_change_users_login 'update_one', 'bruker', 'bruker' ← Bruker byttes da ut med resultatet fra forrige spørring. se forøvrig KB 314546 og spesielt: KB 246133
Ønsker du å flytte mange brukere og passord så se egne script og metoder for dette i KB 246133
Vil du flytte jobber, alerts osv.. fra SQL Agent så står det forklart i punkt 4 i KB 314546.