Meny
Lag supportsak
*
*
Skriv inn koden
*

Databaseflytting

Fra tid til annen kan det oppstå årsaker som gjør at man må flytte databaser, eller SQL-servere over til ny server.
De mest vanlige årsaken er bytte av server, oppgradering til ny SQL-server, endret behov i forhold til systemkrav eller hardware-feil.

Den enkleste måten å flytte en Uni-klient mellom to servere, er å ta Uni-backup, og lese inn igjen på ny server. Dette kan være ideellt dersom du kun har en klient, og et årstall.
Dersom du har flere årstall, og enda flere klienter, blir dette en tidkrevende jobb. Hoveddatabasene uniadmin og utool databasene blir ikke med ved bruk av Uni Backup. Dette medfører at brukere, og egendefinerte rapporter/layouter ikke blir med over på ny server. Sannsynligheten for at det er spesifisert flere brukeroppsett i Uni, er større jo flere klienter og brukere det er.

For å få hele oppsettet med over på ny server, må du flytte databaser ved bruk av SQL. Det da anbefalt å utføres av IT konsulenter som har erfaring med SQL server flytting.

Vår teknisk avdeling i Uni Micro kan bistå med flytting av SQL databaser, dette er en fakturerbart jobb. Ta gjerne kontakt på support@unimicro.no

 Her en kort veiledning på hvordan jobben utføres dersom du ønsker å gjøre det selv:

Før en flytter til ny SQL server så pass på at standard collation på SQL instansen er satt til Danish_Norwegian_CI_AS

Dersom du flytter fra eldre SQL enn SQL 2008 må serveren først oppgraderes, eller flyttes til SQL 2008 (eller 2008 R2).

I noen tilfeller ønsker du å flytte alle Uni-databasene, i andre tilfeller bare noen (pga diskplass).

For å flytte alle Uni-databasene over til ny server, gjør du følgende:

  1. Installer SQL-server på ny maskin (pass på at SQL-versjonen er lik, eller nyere enn eksisterende)
  2. Stopp SQL-serveren på gammel maskin
  3. Kopier alle .mdf, og .ldf filer som begynner på 'U' over til datakatalogen til ny SQL-server
  4. Start den nye SQL-serveren
  5. Attach databasene på ny SQL-server

Forklaring til punktene:

  1. SQL versjon må være lik på ny server, eller nyere for at du skal kunne attache databasene.
    Dersom det er en eldre versjon, vil ikke SQL kjenne igjen filen, eller klage på at noe annet er galt.
    Dersom det er en nyere versjon, vil det bli foretatt en oppgraderingsprosess av databasene, som gjør de kompatible med SQL-serveren.
  2.  Siden SQL er dynamiske data, må du stoppe tjenesten for å kopiere de ut fra datakatalogen.
    Samtidig som du stopper SQL-tjenesten, blir databasene avsluttet på korrekt måte.
    Dette innebærer at logfilene kjører en checkpoint til databasefilene, slik at de ikke blir korrupte.
  3. Kopier alle databasefilene til ny datakatalog - trenger ikke nødvendigvis være datakatalogen til SQL. Det kan gjerne være en annen mappe på harddisken din.
  4. For å kunne koble til databasene, må SQL-serveren være startet. Dette fordi du må registrere filene opp mot master-databasen, slik at den kan skrive de til systemdatabase-tabellen.
  5. Du kan koble databasene med en Stored Procedure i SQL.
    Syntaxen for den er som følger:

sp_attach_db 'uni_77', 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\uni_77.mdf', 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\uni_77_log.ldf'

Denne spørringen kobler opp uni_77. Den tar både databasefilen, og loggfilen.
Det kan bli mange linjer å skrive dersom om det er mange klienter, derfor bør spørringene utarbeids med script f.eks ved bruk av PowerShell.