I have an INSERT
statement that is eating a hell of a lot of log space, so much so that the hard drive is actually filling up before the statement completes.
Upload the data into tempdb instead of your database, and do all the intermediate transformations in tempdb. Then copy only the final data into the destination database. Use batches to minimize individual transaction size. If you still have problems, look into deploying trace flag 610, see The Data Loading Performance Guide and Prerequisites for Minimal Logging in Bulk Import:
Trace Flag 610
SQL Server 2008 introduces trace flag 610, which controls minimally logged inserts into indexed tables.