SqlBulkCopy.BatchSize Eigenschaft

Definition

Anzahl der Zeilen in jedem Batch. Am Ende jedes Batches werden die im Batch enthaltenen Zeilen an den Server gesendet.

public:
 property int BatchSize { int get(); void set(int value); };
public int BatchSize { get; set; }
member this.BatchSize : int with get, set
Public Property BatchSize As Integer

Eigenschaftswert

Der ganzzahlige Wert der BatchSize-Eigenschaft oder 0 (null), wenn kein Wert festgelegt wurde.

Beispiele

Die folgende Konsolenanwendung veranschaulicht das Massenladen von Daten in Batches mit 50 Zeilen. Ein Beispiel zur Veranschaulichung der BatchSize Funktionsweise einer Transaktion finden Sie unter Transaktions- und Massenkopiervorgänge.

Wichtig

Dieses Beispiel wird nur ausgeführt, wenn Sie die Arbeitstabellen erstellt haben, wie unter Massenkopierbeispielsetup beschrieben. Der angegebene Code dient nur zur Demonstration der Syntax für die Verwendung von SqlBulkCopy. Wenn sich quell- und zieltabellen in derselben SQL Server Instanz befinden, ist es einfacher und schneller, eine Transact-SQL-Anweisung INSERT … SELECT zum Kopieren der Daten zu verwenden.

Hinweise

Ein Batch ist abgeschlossen, wenn die BatchSize-Zeilen verarbeitet wurden oder keine weiteren Zeilen mehr zum Senden an die Zieldatenquelle vorhanden sind.

Null (Standard) gibt an, dass jeder WriteToServer Vorgang ein einzelner Batch ist.

Wenn die SqlBulkCopy Instanz ohne die UseInternalTransaction Option deklariert wurde, werden Zeilen gleichzeitig an die Serverzeilen BatchSize gesendet, aber es wird keine transaktionsbezogene Aktion ausgeführt. Wenn UseInternalTransaction aktiv ist, wird jeder Zeilenbatch als separate Transaktion eingefügt.

Die BatchSize -Eigenschaft kann jederzeit festgelegt werden. Wenn bereits ein Massenkopiervorgang ausgeführt wird, wird der aktuelle Batch entsprechend der vorherigen Batchgröße dimensioniert. Nachfolgende Batches verwenden die neue Größe. Wenn der BatchSize anfänglich null ist und geändert wird, während ein WriteToServer Vorgang bereits ausgeführt wird, lädt dieser Vorgang die Daten als einzelnen Batch. Bei allen nachfolgenden Vorgängen WriteToServer auf derselben SqlBulkCopy Instanz wird das neue BatchSizeverwendet.

Gilt für: