Using -b is not entirely correct, the load is still logged, however the log file will be reused for each batch if you are using the simple recovery model.
To achieve a minimally logged load you must ensure the following:
1. You are using simple or bulk logged recovery.
2. The target table is not being replicated.
3. The target table has no triggers.
4. The target table must be empty OR have no indexes (clustered & nonclustered).
5. The TABLOCK hint is specified. (For bcp use -h TABLOCK)
I have just loaded 300 million rows into a non-empty table without using -b in 4 minutes.
The SQL Guy @ blogspot[/url]