Bulk copy operations in SQL Server

Download ADO.NET

Microsoft SQL Server includes a popular command-line utility named bcp. Bcp is used to quickly bulk copy large files into tables or views in SQL Server databases. The SqlBulkCopy class allows you to write managed code solutions that provide similar functionality. There are other ways to load data into a table (INSERT statements, for example) but SqlBulkCopy offers a significant performance advantage over them.

Using the SqlBulkCopy class, you can perform:

  • A single bulk copy operation
  • Multiple bulk copy operations
  • A bulk copy operation within a transaction

Note

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:
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:
Describes how to do a single bulk copy of data into a database instance using the SqlBulkCopy class. It includes how to do the bulk copy operation using Transact-SQL statements and the SqlCommand class.

Multiple bulk copy operations:
Describes how to do multiple bulk copy operations of data into a database instance using the SqlBulkCopy class.

Transaction and bulk copy operations:
Describes how to do a bulk copy operation within a transaction, including how to commit or roll back the transaction.

Order hints for bulk copy operations:
Describes how to use order hints to improve bulk copy performance.

Next steps