You are using the wrong tooling for the job. The design is copying a lot of data from the database to wherever the C# code is running then copying the same data back to the same database.
A better approach is to write a SELECT INTO T-SQL script and submit the script to SQL Server. That way the data stays in the database and does not travel over the wire twice. I would wrap the SELECT INTO inside a parameter stored procedure and call the stored procedure from C#.
If this is a schedule task then don't use C# at all. Schedule a job in SQL Server's agent to call the stored procedure from the job.
Lastly, if the end result is two copies of the same data in the same database then consider changing the design to simply reading data from the LogStore when the data is needed.