Avatar billede krogstrup Nybegynder
26. marts 2007 - 12:45 Der er 9 kommentarer og
2 løsninger

Oprette dump af database til indlæsning på ny ms sql server

Kan man i MS SQL serveren nemt oprette et dump af en hel database med struktur og evt. indhold. Dvs. at dette dump gerne skulle udarte sig i et stort sql-script, som således f.eks. nemt kan tilrettes inden det "fyres af", hvis man har nogle ændringer til databasen inden den oprettes på ny.

Jeg ved godt at man kan bruge en backup/restore funktion, men den genererer så vidt jeg kan forstå ikke sql-scripts.

Anyone ?
Avatar billede -mundi- Nybegynder
26. marts 2007 - 12:53 #1
Du behøves ikke script til det, du kan bruge
f.eks
BACKUP DATABASE northwind
TO DISK = 'd:\backups\northwind\nwind.bak'

og for at lave restore
RESTORE DATABASE Nwind_New
FROM DISK = 'd:\backups\nwind\nwind_diff.bak'
WITH RECOVERY


sakset fra http://www.microsoft.com/technet/prodtechnol/sql/2000/maintain/sqlbackuprest.mspx#E4BAG
Avatar billede -mundi- Nybegynder
26. marts 2007 - 12:54 #2
Men du mener måske en kæmpe bunke sql statements til at oprette tabeller osv, samt en insert for hver record i hver table ?
Avatar billede krogstrup Nybegynder
26. marts 2007 - 13:00 #3
ja, jeg kunne godt tænke mig at få genereret en "kæmpe bunke sql statements" således at jeg netop kunne gå direkte ned i disse sql´er og tilpasse dem efter behov.

Tanken er at scriptet skal bruges som værktøj til oprettelse af nye standard databaser der skal følge en bestemt "norm", men som nogen gange vil skulle tilpasses lidt.

Jeg har f.eks. brug for at kunne køre scriptet fra en asp fil således at jeg kan indbygge noget dynamik i sql scriptet ved f.eks. at lade database navnet være afhængigt af et INPUT felt på asp siden.
Avatar billede arne_v Ekspert
26. marts 2007 - 15:30 #4
Enterprise Manager / SQLServer Studio kan generere SQL scripts til at create
databasen med.

Data kan som regel ogsaa hentes som SQL saetninger med lidt snedig SELECT.
Avatar billede krogstrup Nybegynder
26. marts 2007 - 17:19 #5
arne_v >
Jeg bruger "SQL Server Management Studio Express" - kan det lade sig gøre heri, og hvordan ?
Avatar billede arne_v Ekspert
26. marts 2007 - 17:39 #6
Du kan faa den til at generere create scripts for tabeller, views, SP's etc..

Jeg har ikke software paa den PC jeg sidder ved, men hvis du cycler gennem
menuer saa finder du den option med generate scripts.

For at faa INSERT det indsaetter data skal du selv generere dem med nogle
SELECT - det kan ogsaa goeres inde fra Studio.
Avatar billede krogstrup Nybegynder
29. marts 2007 - 14:22 #7
arne_v >
Hej Arne. Det er nu lykkedes mig via "generate scripts" at få lavet et SQL script der automatisk opretter hele min tabel struktur. Men jeg kan fortsat ikke gennemskue hvordan jeg får genereret et SQL script der INSERT´er mine data fra tabellerne.

kan du hjælpe mig videre med det ?
Avatar billede arne_v Ekspert
29. marts 2007 - 15:12 #8
eksempel for en tabel T1 med 2 felter F1 og F2 som er INT og VARCHAR:


SELECT 'INSERT INTO T1 VALUES('+CAST(F1 AS VARCHAR(10))+','+''''+REPLACE(F2,'''','''''')+''''+');' FROM T1
GO
Avatar billede krogstrup Nybegynder
26. april 2007 - 08:32 #9
Hej - har desværre ikke rigtig (endnu) haft tid til at afprøve løsningsforslag, men kan du ikke arne_v også smide et svar. Så deler jeg points mellem jer.

:-)
Avatar billede arne_v Ekspert
26. april 2007 - 14:26 #10
ok
Avatar billede krogstrup Nybegynder
26. april 2007 - 14:30 #11
jeg takker for input og vender muligvis frygteligt tilbage :-)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester