|Are any the indexes clustered on your large tables?
If you do you may have a lot of page splitting going on which can really slow things down with inserting 7m rows.
Do you have the transaction log on a separate drive?
Is the database on a separate drive from the application?
Continuous effort - not strength or intelligence - is the key to unlocking our potential.(Winston Churchill)