在 SQL Server 中執行大量複製作業Bulk Copy Operations in SQL Server

Microsoft SQL Server 包含名為bcp的熱門命令列公用程式,可快速地將大型檔案大量複製到 SQL Server 資料庫中的資料表或 views。Microsoft SQL Server includes a popular command-line utility named bcp for quickly bulk copying large files into tables or views in SQL Server databases. SqlBulkCopy 類別可讓您撰寫會提供類似功能的 Managed 程式碼方案。The SqlBulkCopy class allows you to write managed code solutions that provide similar functionality. 還可採用其他方式將資料載入 SQL Server 資料表 (例如,INSERT 陳述式),但 SqlBulkCopy 的效能優勢明顯高於它們。There are other ways to load data into a SQL Server table (INSERT statements, for example) but SqlBulkCopy offers a significant performance advantage over them.

SqlBulkCopy 類別可用於僅將資料寫入 SQL Server 資料表。The SqlBulkCopy class can be used to write data only to SQL Server tables. 但是資料來源不僅限於 SQL Server;可使用任何資料來源,只要該資料可載入 DataTable 執行個體,或可使用 IDataReader 執行個體進行讀取。But the data source is not limited to SQL Server; any data source can be used, as long as the data can be loaded to a DataTable instance or read with a IDataReader instance.

使用 SqlBulkCopy 類別,您可以執行:Using the SqlBulkCopy class, you can perform:

  • 單一大量複製作業A single bulk copy operation

  • 多項大量複製作業Multiple bulk copy operations

  • 在交易內的大量複製作業A bulk copy operation within a transaction

注意

使用 .NET Framework 1.1 版或更早版本(不支援SqlBulkCopy類別)時,您可以使用SqlCommand物件來執行 SQL Server transact-sql BULK INSERT語句。When using .NET Framework version 1.1 or earlier (which does not support the SqlBulkCopy class), you can execute the SQL Server Transact-SQL BULK INSERT statement using the SqlCommand object.

本節內容In This Section

大量複製範例設定Bulk Copy Example Setup
說明大量複製範例中使用的資料表,並提供用於在 AdventureWorks 資料庫中建立資料表的 SQL 指令碼。Describes the tables used in the bulk copy examples and provides SQL scripts for creating the tables in the AdventureWorks database.

單一大量複製作業Single Bulk Copy Operations
說明如何使用 SqlBulkCopy 類別將資料單一大量複製到 SQL Server 的執行個體中,以及如何使用 Transact-SQL 陳述式及 SqlCommand 類別執行大量複製作業。Describes how to do a single bulk copy of data into an instance of SQL Server using the SqlBulkCopy class, and how to perform the bulk copy operation using Transact-SQL statements and the SqlCommand class.

多項大量複製作業Multiple Bulk Copy Operations
說明如何使用 SqlBulkCopy 類別,執行資料到 SQL Server 執行個體的多項大量複製作業。Describes how to do multiple bulk copy operations of data into an instance of SQL Server using the SqlBulkCopy class.

異動和大量複製作業Transaction and Bulk Copy Operations
說明如何在異動內執行大量複製作業,包含如何認可或復原異動。Describes how to perform a bulk copy operation within a transaction, including how to commit or rollback the transaction.

另請參閱See also