Massenkopiervorgänge in SQL Server
Microsoft SQL Server umfasst ein beliebtes Befehlszeilenprogramm namens bcp. Bcp ermöglicht schnelle Massenkopiervorgänge für große Dateien in Tabellen oder Sichten von 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, um Daten in eine Tabelle zu laden (beispielsweise INSERT-Anweisungen), aber SqlBulkCopy bietet im Vergleich dazu einen erheblichen Leistungsvorteil.
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
Einrichten des Massenkopierbeispiels:
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:
Beschreibt die Durchführung eines einzelnen Massenkopiervorgangs für Daten in eine Datenbankinstanz unter Verwendung der SqlBulkCopy-Klasse. Dies umfasst die Durchführung des Massenkopiervorgangs mit Transact-SQL-Anweisungen und der SqlCommand-Klasse.
Mehrere Massenkopiervorgänge:
Beschreibt die Durchführung mehrerer Massenkopiervorgänge für Daten in eine Datenbankinstanz unter Verwendung der SqlBulkCopy-Klasse.
Transaktionen und Massenkopiervorgänge:
Beschreibt die Durchführung eines Massenkopiervorgangs innerhalb einer Transaktion, einschließlich Commit oder Rollback der Transaktion.
Hinweise zur Reihenfolge bei Massenkopiervorgängen:
Beschreibt, wie Sie Hinweise zur Reihenfolge verwenden können, um die Leistung bei Massenkopiervorgängen zu verbessern