2009-12-21 19 views
7

SQL सर्वर या डेटाबेस पर संग्रहीत प्रक्रिया चलाते समय, क्या आप बाहरी डेटाबेस से कनेक्ट कर सकते हैं और वहां से डेटा खींच सकते हैं?मैं किसी SQL डेटाबेस या संग्रहीत प्रक्रिया से बाहरी डेटाबेस से कैसे कनेक्ट कर सकता हूं?

कुछ की तरह:

SELECT a.UserID, b.DataIWantToGet 
    FROM mydb.Users as a, externaldb.Data as b 

उत्तर

12

आप setup a Linked Server instance की आवश्यकता होगी। फिर आप बाहरी डेटाबेस का संदर्भ दे सकते हैं जैसे कि यह एक SQL सर्वर डेटाबेस था।

2

हाँ, आप कर सकते हैं। आपको स्टार्टर्स के लिए linked servers पर एक नज़र डालना चाहिए। आप OPENROWSET का उपयोग सीधे किसी भी लिंक किए गए सर्वर से हिट करने के लिए भी कर सकते हैं।

3

हाँ - दो विधियां हैं: या तो OPENROWSET फ़ंक्शन का उपयोग करें, या लिंक किए गए सर्वर का उपयोग करें। OPENROWSET विज्ञापन-प्रसार एकल कथन के लिए उपयोगी है, लेकिन यदि आप इसे नियमित रूप से करने जा रहे हैं, तो लिंक किए गए सर्वर पर पढ़ें क्योंकि वे आपको अपने SQL स्टेटमेंट में जो कुछ निर्दिष्ट करते हैं, वही करने की अनुमति देते हैं ... उदाहरण के लिए,

SELECT database.owner.table स्थानीय डेटा के लिए
SELECT server.database.owner.table दूरस्थ डेटा

और हाँ, आप मिश्रण कर सकते हैं और मैच करने के लिए मिलती है स्थानीय और दूरस्थ twixt। ध्यान दें कि अगर आप रिमोट सर्वर पर मौजूद बड़ी तालिकाओं के खिलाफ जुड़ते हैं तो आपको सावधानी बरतनी होगी क्योंकि क्वेरी को निष्पादित करने में काफी समय लग सकता है ...

संबंधित मुद्दे

 संबंधित मुद्दे