2013-01-31 53 views
9

मेरे डेटाबेस प्रोजेक्ट में, मैंने एक लिंक किए गए सर्वर का संदर्भ जोड़ा है। जब मैं एक दृश्य में इस लिंक किए गए सर्वर का उपयोग और मेरे डेटाबेस परियोजना बनाने की कोशिश, SSDT क्योंकि यह स्कीमा जुड़ा हुआ सर्वर पर संदर्भित में से किसी के लिए संदर्भ को नहीं समझ सकता त्रुटियों रिपोर्ट:क्या मुझे किसी SQL सर्वर डेटाबेस प्रोजेक्ट में किसी लिंक किए गए सर्वर के लिए डेटाबेस संदर्भ की आवश्यकता है?

[LinkedServer].[DB1].[dbo].[Table1] 

ऊपर एक त्रुटि देता होगा कि एसएसडीटी [DB1].[dbo].[Table1] के संदर्भ को समझ नहीं सकता है। मैंने इस डेटाबेस में एक संदर्भ जोड़ने की कोशिश की, लेकिन एसएसडीटी को या तो .dacpac फ़ाइल (किसी अन्य डेटाबेस प्रोजेक्ट द्वारा उत्पादित) या मेरे प्रोजेक्ट में डेटाबेस के समान सर्वर पर सिस्टम डेटाबेस की आवश्यकता होती है।

मैं बाहरी डेटाबेस को संदर्भित करने में कैसे संभाल सकता हूं? ऐसे मामले हैं जहां एक परियोजना को दूरस्थ डेटाबेस का संदर्भ देने की आवश्यकता है जो एक एसएसडीटी डेटाबेस प्रोजेक्ट नहीं है। मेरे मामले में, मैं किसी अन्य कंपनी के डेटाबेस तक पहुंच रहा हूं और एसएसडीटी परियोजना के रूप में इस डेटाबेस को वर्जन कंट्रोल के तहत डाल रहा हूं।

+0

एक वर्कअराउंड के रूप में आप अपने स्थानीय सर्वर में एक दृश्य बना सकते हैं जो * रिमोट सर्वर – cha

+1

@cha से चुनें * क्या आप यह समझा सकते हैं कि यह एक कामकाज कैसे है? – stevebot

+0

क्योंकि एसएसडीटी दूरस्थ सर्वर – cha

उत्तर

12

रिमोट डेटाबेस के लिए एक नया SQL प्रोजेक्ट बनाएं, उस प्रोजेक्ट में किसी भी ऑब्जेक्ट को रखें जिसे आपको संदर्भित करने की आवश्यकता है (पूरे डेटाबेस होने की आवश्यकता नहीं है), और फिर उस प्रोजेक्ट को अपने प्रोजेक्ट में डेटाबेस संदर्भ के रूप में जोड़ें। आपको दूरस्थ डेटाबेस को तैनात करने की आवश्यकता नहीं है, केवल आपके द्वारा उपयोग की जाने वाली वस्तुओं की परिभाषा है ताकि उन्हें संदर्भित किया जा सके।

+0

क्या आप अधिक विशिष्ट हो सकते हैं? यदि मैं एक ही समाधान में नया एसक्यूएल प्रोजेक्ट बनाता हूं और उस प्रोजेक्ट को संदर्भित करता हूं, तो नई प्रोजेक्ट में नई टेबल ऑब्जेक्ट बनाएं, मैं डेटाबेस नाम कैसे निर्दिष्ट कर सकता हूं और पुराने प्रोजेक्ट से इसे कैसे संदर्भित कर सकता हूं? इसका मतलब है कि परियोजना का नाम लिंक सर्वर का नाम है? – Muflix

4

जिस विकल्प को हमने अंततः तय किया था वह डेटा आयात करने के लिए एसएसआईएस का उपयोग करना था। इस तरह, एक ईटीएल परत में रिमोट डेटा का स्थानांतरण हुआ। हमारे डेटाबेस ने इस तरह के किसी भी दूरस्थ डेटाबेस का संदर्भ नहीं दिया है, जो प्रदर्शन में सुधार भी कर सकता है (नेटवर्क पर स्थानान्तरण को समाप्त करता है, क्रॉस सर्वर जुड़ता है आदि)।

मैं एसएसआईएस का उपयोग करने की सलाह दूंगा या आपके डेटा को स्थानीय टेबल में ईटीएल के लिए एक समान विधि बताऊंगा कि आपका डेटाबेस प्रोजेक्ट संदर्भित कर सकता है (बाहरी परियोजना संदर्भ की आवश्यकता के बिना)।

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

  • कोई संबंधित समस्या नहीं^_^