असेंबली बाइनरी को डेटाबेस में एक ब्लॉब के रूप में संग्रहीत किया जाता है, इसलिए इसे डेटाबेस में जहां भी ले जाया जाता है। CLR केवल उदाहरण पर सक्षम है - इसके लिए कोई डेटाबेस-विशिष्ट सेटिंग्स नहीं हैं।
किसी भी घटना में, आप ऐसा करने की कोशिश क्यों कर रहे हैं?
(मैं तर्कशील होने की कोशिश नहीं कर रहा हूं; मैं सिर्फ इसमें शामिल उद्देश्यों को सुनना चाहता हूं, क्योंकि शायद समस्या को एक अलग तरीके से हल किया जा सकता है जो आपकी आवश्यकताओं को पूरा करता है।)
साझा डेटाबेस में असेंबली लगाने के अलावा, इसे आसानी से करने का कोई तरीका नहीं है।
उस ने कहा, मुझे लगता है कि डेटाबेस-केंद्रित वास्तुकला को गले लगाना फायदेमंद होगा, जब तक कि कोई विशेष स्थिति न हो जिसे केंद्रीकृत करने के लिए बहुत ही आकर्षक कारण हैं। ऐसा क्यों है कि डेटाबेस के बाहर असेंबली (या उस मामले के लिए कुछ भी) डालना आपके वातावरण में एक निर्भरता पैदा करता है। यह ठीक विपरीत दृष्टिकोण है जो Microsoft SQL Server 2012 में शुरू होने वाले दूषित डेटाबेस के साथ बना रहा है।
जब आपको प्रतिकृति या क्लस्टरिंग जैसी सुविधाओं का उपयोग करने की आवश्यकता होती है, तो यह निर्भरता संभावित रूप से तैनाती के लिए जटिलता की एक जबरदस्त मात्रा जोड़ सकती है, लेकिन समस्या निवारण और विफलता प्रक्रियाओं के लिए भी।
यह आर्किटेक्चर सिस्टम से अपरिचित लोगों के लिए बहुत कम स्पष्ट है (यानी, यह कम आत्म-खोज योग्य है, और कम स्व-दस्तावेजीकरण)।
यदि आप अलग-अलग डेटाबेस में अलग-अलग सुरक्षा की आवश्यकता को समाप्त करते हैं, या कुछ भी जिसमें बदलाव शामिल है, तो आप चोट की दुनिया में हैं।
यदि ये डेटाबेस ग्राहकों को मिलते हैं (लगता है जैसे वे नहीं होंगे, लेकिन मैं इसे पूर्णता के लिए कहूंगा), यह तैनाती प्रक्रिया, रखरखाव और समस्या निवारण में जटिलता जोड़ता है।
चूंकि सभी डेटाबेस इस कोड को साझा करेंगे, यदि कोई बग (या निश्चित!) पेश किया जाता है, तो यह डेटाबेस पर निर्भर सभी अनुप्रयोगों को संभावित रूप से तोड़ सकता है। व्यापक इकाई परीक्षण एक निरपेक्ष होना चाहिए।
यदि आपके पास कई डेटाबेस हैं जिनकी समान कार्यक्षमता की आवश्यकता है, तो इसमें शामिल दोहराव की मात्रा को कम करने के अन्य तरीके हैं, जो मुझे लगता है कि व्यायाम का बिंदु है। यहां तक कि एक काफी जटिल सीएलआर असेंबली डेटाबेस में डेटा (लगभग हमेशा) की तुलना में बहुत अधिक भौतिक भंडारण स्थान नहीं लेगा, इसलिए मैं इसे एक वैध तर्क के रूप में नहीं देखता जब तक कि आपके पास वास्तव में हजारों छोटे डेटाबेस न हों, जिन्हें इसकी आवश्यकता है सभा।
स्रोत डुप्लिकेट को कम करने के लिए आप इन डेटाबेस के लिए परिनियोजन प्रक्रिया के अन्य भागों को संशोधित कर सकते हैं। उदाहरण के लिए, स्रोत नियंत्रण में CLR कोड के सामान्य स्थान से असेंबली का निर्माण और तैनाती। या, एक स्क्रिप्ट बनाएं जो डेटाबेस में समान असेंबली को दर्शाती है। जितना संभव हो सके इस हिस्से को स्वचालित करें, और यह एक बड़ी बात नहीं होगी।
मैं सहमत हूं कि मैं जो सुझाव दे रहा हूं वह एक व्यापार है, क्योंकि अभी भी कुछ दोहराव होगा, लेकिन यह एक वास्तुकला को लागू करने के साथ शामिल नकारात्मक के साथ संतुलित होना है जो निर्धारित मानक का पालन नहीं करता है। केवल आप ही तय कर सकते हैं कि आपके पर्यावरण के लिए क्या सही है।