आप दक्षता कैसे माप रहे हैं? कौन सा तेज होगा? कौन सा लक्ष्य पर कम संसाधनों का उपभोग करेगा? स्रोत पर? इन पंक्तियों में कॉलम कितने प्रकार और किस प्रकार के डेटा हैं? क्या आप वाकई एक लिंक्ड सर्वर के माध्यम से टीवीएफ निष्पादित कर सकते हैं (क्या लक्ष्य एसक्यूएल 2008 या बाद में है?) । यदि आप TVF से खींच रहे हैं तो आप इस डेटा का 1: 1 माइग्रेशन कैसे सुनिश्चित कर रहे हैं?
रास्ते से बाहर उन सवालों के साथ ...
अपडेट १
ऐसा लगता है कि आप ईटीएल (एक्सट्रैक्ट-ट्रांसफॉर्म-लोड) की तलाश कर रहे हैं। मैं SSIS (SQL Server इंटीग्रेशन सर्विसेज) की सिफारिश करूंगा, जिसके साथ आप स्रोत से डेटा खींच सकते हैं, उन परिवर्तनों को लागू कर सकते हैं जिनकी आपको आवश्यकता है, और फिर उन्हें अपने लक्ष्य में लोड करें। ऐसा लगता है कि यह एक बहुत सरल पैकेज (परिवर्तनों के आधार पर) होगा।
परम्परागत ज्ञान बताता है कि लिंक किया हुआ सर्वर अप्रोच लिंक पर जाएगा, डेटा को लोकल सर्वर पर खींचेगा, और फिर स्थानीय सर्वर पर कोई लॉजिक (फिल्टर, जॉइन इत्यादि) लागू करेगा। लिंक किए गए सर्वर पर डेटा लाने के लिए कुछ ओवरहेड है, लेकिन अधिकांश प्रसंस्करण स्थानीय रूप से नियंत्रित किया जाएगा।
OPENQUERY विधि प्रसंस्करण को दूरस्थ सर्वर पर रखेगी और "फ़िल्टर किए गए परिणाम" स्थानीय सर्वर द्वारा प्राप्त किए जाएंगे।
ऐसा लगता है कि भले ही आप लिंक्ड सर्वर के माध्यम से टीवीएफ निष्पादित कर सकते हैं, आपको दुनिया में सबसे खराब, दूरस्थ रूप से प्रसंस्करण और स्थानीय रूप से प्रसंस्करण करना होगा (यह मानते हुए कि आपके पास सेट पर आवेदन करने के लिए अतिरिक्त तर्क है)।
आप आगे बढ़ने का निर्णय कैसे लेते हैं, इस पर निर्भर करते हुए, मैं OPENQUERY
डेटा आयात / निर्यात डेटा के रूप में भी देखूंगा।
उस सब के बाद कहा ...
यदि SQL सर्वर पर स्रोत और लक्ष्य दोनों (और लक्ष्य निम्न संस्करण नहीं है), तो डेटा का बैकअप और पुनर्स्थापना क्यों नहीं करते हैं? यह एक सच्चा डेटा माइग्रेशन होगा। यहाँ आपके लिए कुछ कोड है
BACKUP DATABASE <DatabaseName, sysname, DatabaseName>
TO DISK=N'<backup_location, varchar, BackupLocation>.bak'
WITH INIT, FORMAT, COMPRESSION, COPY_ONLY
RESTORE DATABASE <NewDatabaseName, sysname, NewDatabaseName>
FROM DISK = N'<backup_location, varchar, BackupLocation>\
<DatabaseName, sysname, DatabaseName>.bak'
WITH
MOVE '<DataFileName, sysname, DataFileName>' TO '<DataMDFPath, nvarchar(600), DataMDFPath>',
MOVE '<LogFilePath, sysname, LogFilePath>' TO '<LogLDFPath, nvarchar(600), LogLDFPath>',
REPLACE;
आप SSMS में टेम्प्लेट का उपयोग कैसे करें, इस उत्तर का उल्लेख कर सकते हैं ।