Bulk Insert

In general, if the minimal logging is applicable, the single batch is the best solution.  Otherwise, batch size, commit size, and indexes will help the optimization.

Batch Sizes, Fast Load, Commit Size and the OLE DB Destination
http://copper-blue.co.uk/2012/10/02/batch-sizes-fast-load-commit-size-and-the-ole-db-destination/
[a sample explanation of batch size and commit size]

Guidelines for Optimizing Bulk Import
http://technet.microsoft.com/en-us/library/ms177445(v=sql.90).aspx
[very good]

The Data Loading Performance Guide
http://technet.microsoft.com/en-us/library/dd425070(v=sql.100).aspx

[This is a white paper.  Since SQL 2008, the trace flag 610 may be a way to enforce the minimal logging.  This may be the only documentation out there.]

Prerequisites for Minimal Logging in Bulk Import
http://technet.microsoft.com/en-us/library/ms190422(v=sql.90).aspx

Managing Batches for Bulk Import
http://technet.microsoft.com/en-us/library/ms188267(v=sql.90).aspx

Minimal Logging Basics and SQL Server 2008 Enhancements
http://www.pythian.com/blog/minimal-logging-basics-and-sql-server-2008-enhancements/

OLE DB Destination Editor
http://technet.microsoft.com/en-us/library/ms188439(v=sql.90).aspx

BULK INSERT
http://technet.microsoft.com/en-us/library/ms188365(v=sql.90).aspx

SELECT-INTO vs INSERT INTO
http://sqlmag.com/t-sql/minimally-logged-inserts

Advertisements