Vi skal nå logge på MS SQL Server 2000 default instansen på SBS Serveren. SQL Serveren er installert i Windows Authentication Mode og MS SQL Servicene antas å kjøre under Local System, og Administrator antas å ha full tilgang til SQL Serveren. Det dette er vanlig på en SBS Server 2000 og 2003.
Vi har flere alternative metoder her, og jeg vil se kort på disse før vi fortsetter i artikkelen. Det kan være at enkelte nettopp er på jakt etter en slik løsning.
a) Stopp SQL Server instansen. Kopier de aktuelle bruker databasene til en ny lokalisering. Start SQL Server og re-attach databasen(ene) fra den nye lokaliseringen.
b) Set databasen offline fra SQL Server Enterprise Manager. Kopier de aktuelle bruker databasene til en ny lokalisering. Start SQL Server og re-attach databasen(ene) fra den nye lokaliseringen.
c) Detach bruker databasen(ene), kopier de aktuelle bruker databasene til en ny lokalisering. Re-attach databasen(ene) fra den nye lokaliseringen.
TIPS
Dersom du stopper SQL Server og kopierer en database fra et sted til en annen følger ikke logins med denne databasen. Årsaken til dette er at logins ligger i master databasen. Når du forsøker å knytte filene til en annen SQL Server må du overføre logins fra den aktuelle databasen til master. Dette kan du gjøre med sp_changedbowner og sp_change_users_login sjekk også min blogg her:http://smallbizserver.no/Blogger/tabid/94/EntryID/72/Default.aspx
ADVARSEL
Husk dersom du kun har databasefilene og ingen databasebackup så er re-attachment eneste mulighet!
Stopp SQL Server instansen
Stopp den aktuelle SQL Serverinstansen. Dette kan du gjøre for eks gjøre fra; Services, ved å bruke NET STOP kommandoen, Fra SQL Server Enterprise Manager eller transact-SQL kommandoer. Når SQL Server er stoppen kan du kopiere bruker databasene til et nytt sted. Så lenge databasen(ene) ble lukket på korrekt måte burde det ikke by på problemer å attache disse til den samme eller til en ny SQL Server instans. Husk, slett ikke originalene før du utførlig har testet databasen(ene) på sin nye lokalisering! Feil kan oppstå ved kopiering eller andre uforutsette forhold.
Sett databasen offline
Behandles ikke her på grunn av sin kompleksitet.
Detach og Attach
Denne metoden beskrives i denne hvordan artikkelen.
Figur 12 – I dette skjermbilde fra SQL Server Entreprise Manager ser vi databasen postrobot som skal flyttes.
Etter å ha loget på SBS Serveren med den innebygde Administrator kontoen åpner vi et CMD vindu. Vi skal så finne lokaliseringen av filene tilhørende databasen postrobot.
Forutsetninger for den videre fremdriften
Hvordan finne den nåværende lokaliseringen av filene til databasen postrobot?
For å finne den nåværende lokaliseringen av filene som skal flyttes etter at vi har koblet fra disse fra SQL Server kan vi bruke den lagrede systemprosedyren sp_helpfile. (For å starte et CMD vindu trykk Start, All Programs, Accessories, Command Prompt.) For øvrig skal vi bruke følgende kommandoer i CMD vinduet:
OSQL –E -q
use postrobot
go
sp_helpfile
go
TIPS
Ikke bruk copy og past inn kommandoene. Det fungere dårlig…
Figur 13 – Vi ser her lokaliseringen av postrobot filene. Legg merke til at jeg bruker kommandoen Exit for å avslutte OSQL. Med dette kjenner vi lokaliseringen av filene og hvert hvor vi skal gå for å kopiere disse til sin nye plass.
TIPS
Det skilles mellom store og små bokstaver. Pass på å skrive alle –E og –q (parametre) med rett størrelse på bokstavene, henholdsvis store eller små!
Figur 14 – Det skilles mellom store og små bokstaver i parametrene.
TIPS
Dersom du må loge på som sa kan du gjøre starten om som følger OSQL -U sa og skriv inn sa passord når SQL Server spør etter dette. System Administrator benevnes som sa. I så måte må du erstatte OSQL –E –q med OSQL –U sa.
Figur 15 – Du kan også logge på SQL Server som sa.
Hvordan detache databasen postrobot for flytte filene
Vi må da logge oss på default instansen og sette databasen postrobot i Single User Mode. Når det er gjort skal vi koble fra (detach) postrobot databasen. Vi skal så flytte filene til den nye plasseringen og koble til (attache) filene. De kommandoene som vi skal benytte i CMD vinduet er etter dette som følger:
OSQL –E -q
use master
alter database postrobot
set single_user;
go
use master
go
sp_detach_db ‘postrobot’
go
Exit
Figur 16 – Vi har nå koblet fra databasen postrobot og kan starte flyttingen av filene til sin nye plass.
Figur 17 – For å flytte filene åpner jeg My Computer to ganger. I det ene vinduet navigerer jeg til katalogen vi fant tidligere og i det andre vinduet navigere jeg til den nye katalogen hvor som filen skal flyttes til. Deretter flytter jeg kopierer jeg filene. Grunnen til at jeg velger Copy er at jeg personlig synes dette er sikrere. Originalen ligger da igjen og kan slettes dersom overføringen av filene gikk som forventet. Jeg sletter så originalene.
Hvordan attache databasen postrobot etter flytting
Starter et CMD vindu og logger på default instansen av SQL Server. Deretter kjører vi den lagrede prosedyren i SQL server som heter sp_attach_db. Til slutt verifiserer vi lokaliseringen av databasen postrobots filer. I CMD bruker vi følgende kommandoer:
OSQL –E -q
use master
go
sp_attach_db ‘postrobot’, ‘F:\MSSQLServerDatafiler\postrobot_Data.MDF’, ‘F:\MSSQLServerDatafiler\postrobot_Log.LDF’
go
use postrobot
go
sp_helpfile
go
Figur 18 – Dette gikk greit. Bruk Exit for å avslutte OSQL.