Най-бързият начин е да изтеглите данните, вместо да ги натискате. Когато таблиците се натискат, всеки ред изисква свързване, вмъкване и прекъсване.
Ако не можете да изтеглите данните, тъй като имате еднопосочна доверителна връзка между сървърите, решението е да конструирате цялата таблица като огромен T-SQL израз и да я изпълните наведнъж.
DECLARE @xml XML
SET @xml = (
SELECT 'insert Remote_Table values (' + '''' + isnull(first_col, 'NULL') + ''',' +
-- repeat for each col
'''' + isnull(last_col, 'NULL') + '''' + ');'
FROM Local_Table
FOR XML path('')
) --This concatenates all the rows into a single xml object, the empty path keeps it from having <colname> </colname> wrapped arround each value
DECLARE @sql AS VARCHAR(max)
SET @sql = 'set nocount on;' + cast(@xml AS VARCHAR(max)) + 'set nocount off;' --Converts XML back to a long string
EXEC ('use RemoteDb;' + @sql) AT RemoteServer