SqlDataAdapter's Insert does its records one at a time, if you are inserting a lot of records you should be using SqlBulkCopy instead to mitigate the overhead of doing those inserts.
using (SqlConnection destinationConnection = new SqlConnection(connectionString))
{
destinationConnection.Open();
using (SqlBulkCopy bulkCopy =
new SqlBulkCopy(destinationConnection))
{
bulkCopy.DestinationTableName = destTableName;
bulkCopy.WriteToServer(sourceDataTable);
}
}