SqlBulkCopy.BatchSize Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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.