Ich habe zwei SQL-Server: MyServer und TheirServer. Ich habe nicht die Möglichkeit, diese beiden Server zu verbinden.Tabelle kopiert von einem SQL Server zu einem anderen - Kann verknüpft sie nicht
Ich möchte alle Daten aus einer Tabelle erhalten auf TheirServer und kopieren Sie sie in MyServer auf einer täglichen Basis. Die aktuelle Anzahl der Datensätze in der Tabelle ist über 600k und wird langsam zunehmen. Die Tabellen sind identisch, Spaltennamen und Datentypen.
Mein erster Gedanke war, zu versuchen, eine Datentabelle mit einer Select *
Abfrage TheirServer zu füllen, und dann versuchen, ein SQLBulkCopy
in MyServer. Dies verursacht natürlich eine System.OutOfMemoryException auf dem Webserver. Mit diesem Gedankengang ist mein nächster Angriffsplan, eine SQLDataReader
zu verwenden, um 50k Datensätze gleichzeitig zu ziehen, dann zu lesen und BulkCopy diese Datensätze zu spülen, zu spülen und zu wiederholen. Bevor ich das tat, dachte ich, ich würde sehen, ob ich das falsch mache.
Hinweis: Da ich nur nach einer Best Practice frage, ist es mir egal, ob der Code in C# oder VB ist oder ob überhaupt Code vorhanden ist.
Testen Sie dies jetzt. Die bisherigen Ergebnisse: 606815 Zeilen kopiert. Netzwerkpaketgröße (Bytes): 4096 Uhrzeit (ms.) Insgesamt: 92297 Durchschnitt: (6574,59 Zeilen pro Sekunde) – zeroef
Das war überraschend einfach! Vielen Dank – zeroef