Freigeben über


Massenkopiervorgänge in SQL Server

Microsoft SQL Server enthält ein beliebtes Befehlszeilen-Hilfsprogramm mit dem Namen bcp zum schnellen Massenkopieren großer Dateiumfänge in Tabellen oder Ansichten in SQL Server-Datenbanken. Die SqlBulkCopy-Klasse ermöglicht Ihnen das Schreiben von verwalteten Codelösungen, die eine ähnliche Funktionalität bereitstellen. Es gibt eine Reihe weiterer Verfahren, Daten in eine SQL-Server-Tabelle zu laden (beispielsweise INSERT-Anweisungen), doch bietet SqlBulkCopy ihnen gegenüber einen erheblichen Leistungsvorteil.

Die SqlBulkCopy-Klasse kann nur zum Schreiben von Daten in SQL Server-Tabellen verwendet werden. Die Datenquelle hingegen ist nicht auf SQL Server beschränkt. Es können beliebige Datenquellen verwendet werden, vorausgesetzt die Daten können in eine DataTable-Instanz geladen oder mit einer IDataReader-Instanz gelesen werden.

Die SqlBulkCopy-Klasse bietet folgende Möglichkeiten:

  • Einen einzelnen Massenkopiervorgang

  • Mehrere Massenkopiervorgänge

  • Einen Massenkopiervorgang innerhalb einer Transaktion

Hinweis

Wenn Sie .NET Framework, Version 1.1 oder früher, verwenden (bei diesen Versionen wird die SqlBulkCopy-Klasse nicht unterstützt), können Sie die BULK INSERT-Anweisung von Transact-SQL für SQL Server mit dem SqlCommand-Objekt ausführen.

In diesem Abschnitt

Einrichtung der Massenkopierbeispiele
In diesem Artikel werden die Tabellen beschrieben, die in den Beispielen für Massenkopiervorgänge verwendet werden, und SQL-Skripts zum Erstellen der Tabellen in der AdventureWorks-Datenbank werden bereitgestellt.

Einzelne Massenkopiervorgänge
In diesem Artikel wird das Durchführen einzelner Massenkopiervorgänge für Daten in eine SQL Server-Instanz mithilfe der SqlBulkCopy-Klasse beschrieben und wie der Massenkopiervorgang mithilfe von Transact-SQL-Anweisungen und der SqlCommand-Klasse durchgeführt werden kann.

Mehrere Massenkopiervorgänge
Beschreibt das Ausführen mehrerer Massenkopiervorgänge von Daten in eine SQL Server-Instanz mithilfe der SqlBulkCopy-Klasse

Transaktionen und Massenkopiervorgänge
Beschreibt das Ausführen eines Massenkopiervorgangs innerhalb einer Transaktion, einschließlich des Commits oder Rollbacks einer Transaktion

Weitere Informationen