सबसे तेज़ तरीका डेटा को पुश करने के बजाय उसे खींचना है। जब तालिकाओं को धक्का दिया जाता है, तो प्रत्येक पंक्ति को एक कनेक्शन, एक इंसर्ट और एक डिस्कनेक्ट की आवश्यकता होती है।
यदि आप डेटा नहीं खींच सकते हैं, क्योंकि आपके पास सर्वरों के बीच एकतरफा विश्वास संबंध है, तो पूरी तालिका को एक विशाल टी-एसक्यूएल स्टेटमेंट के रूप में तैयार करना और इसे एक साथ चलाना है।
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