Сам же и отвечаю на свой вопрос. Необходимо использовать BULK INSERT:
Код:
![Выделить весь код](images/misc/selectcode.png)
using (SqlConnection c = new SqlConnection(Properties.Settings.Default.userGateConnectionString))
{
SqlCommand command;
command = new SqlCommand();
command.CommandTimeout = 10*60*1000;
c.Open();
command.Connection = c;
command.CommandText = "BULK INSERT Usergate.dbo.[TableLOG]" +
@" FROM '" + FullFileName + "' " +
"WITH " +
"(" +
"FIELDTERMINATOR = ',', " +
"ROWTERMINATOR = '\n', CODEPAGE = 'ACP', ROWS_PER_BATCH=300, " +
"FIRE_TRIGGERS" +
")";
command.ExecuteNonQuery();
}
где FullFileName - полное имя файла для загрузки вида "C:\temp\file.log" В таком случае скорость загрузки около 1340 записей в секунду.