Kann BCP kopiert Daten direkt aus der Tabelle auf die Tabelle?

Habe ich eine situation, wo ich kopieren muss mehrere Tabellen aus einer SQL Server-Datenbank auf einem separaten SQL-Server-DB. Die Datenbanken liegen beide auf der gleichen Instanz. Die Tabellen, die ich kopieren enthalten ein minimum von 4,5 Millionen Zeilen und sind über 40GB nach oben in der Größe.

Habe ich verwendet BCP vor, bin aber nicht enorm vertraut und wurden nicht in der Lage zu finden, keine Dokumentation darüber, ob oder nicht, können Sie BCP verwenden, zu kopieren, direkt von Tisch zu Tisch, ohne zu schreiben, um die Datei zwischen.

Ist das möglich? Wenn ja, wie?

EDIT: Der Grund warum wir nicht mit einem einfach EINFÜGEN, weil wir nur über begrenzten Speicherplatz auf dem Protokolllaufwerk auf dem server, die verschwindet fast sofort, wenn Sie versuchen, zu LEGEN. Wir haben versucht, es aber die Abfrage schnell verlangsamte zu Schritttempo als log-Laufwerk gefüllt.

Wenn es zwei Datenbanken in derselben Instanz, warum nicht INSERT?
Mehreren Gründen, darunter die Geschwindigkeit der operation und die Menge an Speicherplatz haben wir auf dem log-Fahrt. LEGEN Sie schwillt an, die log-Dateien super schnell und wir laufen aus Speicherplatz auf dem Protokolllaufwerk.
Ich normalerweise nicht diese Art von INSERT in Chargen von, sagen wir, 10.000 Zeilen.
Wie wirkt sich die Geschwindigkeit der INSERT-operation in der Regel zu vergleichen, um BCP-Datei und dann importieren? So im wesentlichen ausführen der INSERT-mindestens 45-mal (angesichts unseres 4,5 Millionen + Zeilenanzahl), jedes mal schrumpft die log-Dateien nach der Fertigstellung?
BCP-fügt Daten in die Chargen der gleichen Weise, wie Sie mit INSERT, und hat die gleiche Art von transation log considersations. Der Unterschied ist, dass BCP müssen körperlich kopieren von Daten aus der Datenbank-server und zurück auf wieder, in der Erwägung, dass mit INSERT Sie verschieben von Daten innerhalb des Servers.

InformationsquelleAutor GShenanigan | 2010-11-03

Schreibe einen Kommentar