22. marts 2004 - 10:56Der er
14 kommentarer og 1 løsning
Overførsel af database
Her kommer et ret svært spørgsmål:
Jeg arbejder med SAP Business One, et ERP-system til små og mellemstore virksomheder. Men det er ikke det spørgsmålet handler om... Systemet kører på MS SQL server, og jeg har i den forbindelse installeret MSDE, altså desktop udgaven af SQL serveren.
Jeg skal nu have kopieret firma-databasen, som SAP bruger, til en anden PC - denne database består af to filer: fil_1.mdf og fil_2.ldf. Jeg har fået at vide, at man skal bruge et bestemt værktøj til at hive databasen ud med, for at kunne indsætte denne i en anden MS SQL Server på den anden PC.
Nogen der ved om dette kan lade sig gøre for mig? Og endnu vigtigere, hvordan?
I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
Du kan kopiere databasen på forskellige måder. Den nemmeste er at du åbner en OSQL prompt (det er et kommandolinje baseret værktøj der indgår i SQL Server MSDE) og kører en sp_detach_db. Det frakobler databasen fra serveren.
Derefter kopierer du dine filer over på den nye server - igen åbner du en OSQL prompt og nu kører du en sp_attach_db - det samme gør du på den gamle server for at få databasen koblet til igen.
Vedr. Enterprise Manager - det har interfacet til at kopiere databaser, flytte data etc - men Enterprise Manager kræver en Client Access License. EM mv er kun med i de licenserede udgaver af SQL Server.
Afhængigt af din moral kan du downloade en evalueringsudgave af sql server fra Microsoft og benytte klientdelen (Enterprise Mgr) til at flytte data. Hvis du gør det, så skal du blot være Export Wizard og benytte optionen SQL Server til Sql Server.
Det lyder lidt risikabelt, jeg må under ingen omstændigheder miste databasen, eller muligheden for at arbejde i denne i SAP. Kan du skære det lidt mere ud i pap for mig, præcis hvad jeg skal gøre?
Is the name of the database to be detached. dbname is sysname, with a default value of NULL.
[@skipchecks =] 'skipchecks'
skipchecks is nvarchar(10), with a default value of NULL. If true, UPDATE STATISTICS is skipped. If false, UPDATE STATISTICS is run. This option is useful for databases that are to be moved to read-only media.
Is the name of the database to be attached to the server. The name must be unique. dbname is sysname, with a default of NULL.
[@filename1 =] 'filename_n'
Is the physical name, including path, of a database file. filename_n is nvarchar(260), with a default of NULL. There can be up to 16 file names specified. The parameter names start at @filename1 and increment to @filename16. The file name list must include at least the primary file, which contains the system tables that point to other files in the database. The list must also include any files that were moved after the database was detached.
Hvis jeg nu har flyttet de to filer manuelt fra min maskine ind på den anden PC i den korrekte mappe. Kan jeg så bare bruge sp_attach_db på den anden PC?
Jepper. Men databasen skal være offline mens du kopierer filerne, man kan ikke flytte en åben database. Indtil du er fortrolig med OSQL vil jeg foreslå, at du opretter en testdatabase og prøver at flytte den først.
Jeg går ud fra, at du kan forbinde til din database med OSQL - ellers kan du prøve
osql -H localhost -E
for at forbinde til databaseserveren med trusted connection (dvs din windows brugerkonto).
Opret så en testdatabase med
CREATE DATABASE [flyttetest] GO
Bemærk ordet GO - det er det der afvikler udtrykket ovenfor.
Databasen er nu oprettet - så kobler du den fra med
exec sp_detach_db flyttetest go
nu kan du kopiere filerne flyttetest_log.ldf og flyttetest.mdf til den anden maskine
Brugere er nemlig oprettet på sql serveren og derefter givet adgang til den enkelte database. Det betyder, at brugeres rettigheder - men ikke selve brugeren - kommer med ved flytningen, du skal manuelt relinke brugerkonti efter flytning.
Det virker helt igennem ganske upåklageligt, og jeg lærte et bjerg ting om sql server... Du får mange tak!
//Henrik
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.