Einzelnen Beitrag anzeigen

Bbommel

Registriert seit: 27. Jun 2007
Ort: Köln
659 Beiträge
 
Delphi 12 Athens
 
#1

Tabellen (Daten und Struktur) zwischen zwei Servern kopieren

  Alt 19. Feb 2010, 14:24
Datenbank: MS SQL • Version: 2005 • Zugriff über: ADO
Hallo zusammen,

folgende Situation: mein Programm greift bei Kunden auf deren recht umfangreiche Datenbank zu, benötigt selbst allerdings nur einige wenige Tabellen daraus. Um Probleme in Ruhe analysieren zu können, wäre es da manchmal ganz praktisch, eine lokale Kopie dieser Daten zu haben - und einen Kunden dazu zu bringen, mal eben eine komplette Datenbank-Sicherung zu machen und durch die Gegend zu schicken ist erstens nicht gerade leicht und zweitens auch keine optimale Lösung, denn das meiste ist für mich ja eh "Daten-Müll", den ich gar nicht brauche.

Also dachte ich mir: machste einfach nur ein Backup der Tabellen, die du wirklich brauchst und importierst dir das Ergebnis entsprechend in eine lokale Datenbank. Wichtig dabei ist, dass ich sowohl die Daten als auch die Struktur der Tabellen brauche, da sich die Tabellen von Kunde zu Kunde leicht unterscheiden können.

Ich brauche also das, was bei mySQL das nette sqldump macht, womit ich dann ja auch in einer anderen Datenbank Daten und Struktur bequem über die SQL-Datei wieder importieren kann.

Gefunden habe ich in die Richtung für den MS SQL-Server aber nur bcp.exe, mit dem ich zwar fröhlich die Daten exportieren kann und sogar über die Formatdateien die Struktur, aber ich habe keine Möglichkeit gefunden, mit Hilfe dieser Dateien die Struktur auf einem anderen Server wieder anzulegen. Die Struktur muss immer schon vorhanden sein.

Hat jemand eine Idee? Sehe ich grad einfach nur den Wald vor lauter Bäumen nicht?

Ach so, das ganze sollte möglichst "skriptfähig" sein, also nicht, dass ich bei jedem Kunden dann zig Klicks in einer GUI machen muss...

Gibt es irgendwelche schlauen SQL-Statements dazu? Kann ich mir mit den Delphi-Komponenten irgendwas stricken?

Ah ja, falls es nicht klar geworden ist: Die beiden Server "sehen" sich nicht gegenseitig, daher wäre ja gerade irgendwas mit einer Datei wie beim sqldump von mySQL so wichtig.

Danke für eure Anregungen
Bommel
  Mit Zitat antworten Zitat