My guess is that you're doing transactional inserts: inserts that look like this:
INSERT INTO dbo.MyTable (Field1, Field2, Field3)
VALUES (50, 100, 150)
That'll work, but like you've found, that doesn't scale. In order to push a lot of data into SQL Server very quickly, there are tools and techniques to pull it off.
Probably the simplest way to do it is with BCP. Here's a couple of links about it:
Next, you'll want to set up SQL Server in order to insert as many records as possible. Is your database in full recovery mode or simple recovery mode? To find out, go into SQL Server Management Studio, right-click on the database name, and click Properties. Full recovery mode will log every transaction, but simple recovery mode will run somewhat faster. Are the data files and log files located on separate arrays? How many drives are in each array, and what RAID type is it (1, 5, 10)? If both the data and log files are on the C drive, for example, you'll have poor performance.
Next, you'll want to set up your table, too. Do you have constraints and indexes on the table? Do you have other records in it already, and do you have other people querying it at the same time? If so, consider building an empty table for data loads with no indexes or constraints. Dump all the data in there as fast as possible, and then apply the constraints or indexes, or move the data into its final destination.