Wenn Du maximale Performance haben willst, dann versuche doch mal die Variante mit 'BULK INSERT'. Dabei erzeugst Du mit deinen Daten eine Text-Datei und lässt den
SQL-Server diese dann per o.g. Befehl einlesen. So kommt man schnell auf 10.000 Datensätze pro Sekunde.
Ich hoffe, Du verwendest einen Workerthreadpool, um die Spitzen abzufangen? Denn dann kann es dir ziemlich egal sein, wie schnell deine Daten eintrudeln.