Я знаю, что вы спрашивали о C # в своем посте, но вы можете рассмотреть несколько других методов, использующих хранимую процедуру, которую вы собираетесь создать.Все перечисленное ниже относится к самой хранимой процедуре.
Рассматривали ли вы подход T-SQL с использованием OPENROWSET () Таким образом, вам никогда не придется возвращать данные обратно в C # и отправлять их обратно вSQL сервер.Вы можете найти некоторые рекомендации от Microsoft здесь , а вот конкретную ссылку с использованием OPENROWSET ()
Если вы хотите использовать C # все еще, вы также можете использовать SSIS,у которого есть возможность копировать данные в массовом режиме между серверами, и вы можете вызывать их из C #, используя соответствующий пакет, который вам нужно создать (визуальный рабочий процесс).Пожалуйста, смотрите эту тему для деталей.