25. juni 2004 - 11:27Der er
5 kommentarer og 1 løsning
Problem med kopiering af tabeller mellem 2 servere
Jeg har nogle _ret_ irriterende problemer med at kopiere tabeller og stored procedures mellem 2 SQL servere med Enterprise Manageren.
Hvis jeg gennem DTS Export vælger "Copy table(s) and view(s) from the source database" lykkes det at kopiere alle tabeller, men tilgengæld smider den alle nøgler og index ud ad vinduet - væk!
Hvis jeg gennem DTS Export vælger "Copy objects and data between SQL server databases" kan man jo vælge at den skal tage nøgler osv. med. Men vælger jeg dette punkt, stopper den under vejs med meddelelsen "Failed to copy blablabla", uden nogen forklaring på fejlen. Her når den at kopiere 10 ud af 40 tabeller, og den stopper samme sted hver gang.
Jeg kan så også generere et SQL-script der indeholder hele tabel-strukturen med nøgler, index osv., men jeg kan _ikke_ finde nogen steder at eksekvere det, kan det passe?
Nogen der kender en løsning på dette problem, eller er SQL server og Enterprise Manageren bare det skodeste der er lavet???
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
Skal ikke kunne sige hvorfor DTS Export "Copy objects and data between SQL server databases" ikke virker for dig. Men er der noget i vejen for at afvikle det genereret sql script fra Query Analyzer?
DTS er en rigtig smart tilføjelse til SQL Server. Desværre er DTS ikke særlig god til at give detajler når nået går galt.
Du har formentlig problemer med forskellige rettigheder på de 2 servere, eller måske bare med forskellige brugernavne.
En løsning kunne være at benytte SQL Servers "Generate Script" til at lave et script der kan oprette en ny tom database til dig på den anden server (incl tabeller, index, constraints, stored procedures m.m.), og så derefter benytte DTS til at kopiere indholdet af tabellerne.
Det er fint lykkedes mig at generere et script der kan oprette hele tabel-struktureren med index, nøgler osv., men hvor i alverden ekskverer jeg så scriptet, når jeg vil have oprettet hele skidtet!?
Jeg gik ud fra at det "SQL-script", som blev omtalt i original spørgsmålet var lavet på den måde, som fsconsult.dk beskriver til sidst i sit indlæg. Dette script kan afvikles fra Query Analyzer.
Copy/paste indholdet af .sql filen, eller bare træk den ind i Query Analyzer. Vælg rigtig database, og tryk F5 for at afvikle scriptet.
Jeg markerer alle tabeller nødvendige tabeller og vælger "Generate SQL Script", og kører jeg scriptet i Query Analyzer, får jeg fejlmeddelelsen "The Query Designer does not support the DROP TABLE SQL construct." Fjerner jeg DROP-statementet, får jeg bare meddelelsen "The Query Designer does not support the CREATE TABLE SQL construct.", og hvad gør man så?
Jeg har helt fra starten forsøgt at oprette og køre et sql-script, men har nu fundet ud af, at det kun kan afvikles, hvis Query Analyzer åbnes seperat, og scriptet altså ikke køres direkte i Enterprise Manageren.
Hvor ulogisk og besværligt, men okey nu virker det.
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.