Поместите свои данные для импорта в CSV-файл и запустите утилиту bcp для данных. Вы не можете получить больше скорости при последовательных вызовах, вставляющих по одной строке за раз, вам, безусловно, нужна массовая утилита, если вам нужна производительность.
Класс SQLBulkCopy позволит вам передавать все данные в коллекции, чтобы сервер мог обрабатывать все сразу, исключая взад и вперед. Так что, если вы хотите избежать создания временных файлов (что я и сделал бы), посмотрите на этот класс.
Просто оставить соединение открытым - это хорошее начало, но у вас все еще есть накладные расходы, связанные с отправкой строки, сохранением SQL, возвращением результата, а затем вы должны выполнить итерацию до следующей строки.