Parallel Data Loads

Administering SQL Server

Administering SQL Server

Parallel Data Loads

Microsoft® SQL Server™ allows data to be bulk copied into a single table from multiple clients in parallel using the bcp utility or BULK INSERT statement. This can improve the performance of data load operations. To bulk copy data into an instance of SQL Server in parallel:

  • Set the database to Bulk-Logged Recovery if you usually use the Full Recovery model.

  • Specify the TABLOCK hint. For more information, see Controlling the Locking Behavior.

  • Ensure the table does not have any indexes.

Note  Any application based on the DB-Library client library supplied with SQL Server version 6.5 or earlier, including the bcp utility, is not able to participate in parallel data loads into an instance of SQL Server. Only applications using the ODBC or SQL OLE DB-based APIs can perform parallel data loads into a single table.

After data has been bulk copied into a single table from multiple clients, any nonclustered indexes that need to be created can also be created in parallel by simply creating each nonclustered index from a different client concurrently.

Note  Any clustered index on the table should be created first from a single client before creating the nonclustered indexes.

See Also

bcp Utility

Logged and Nonlogged Bulk Copy Operations

Optimizing Bulk Copy Performance