sql - How to separate Stored Procedures (i.e. all the business logic) from Client Database so that it only contains client data? -
परिदृश्य :
हमारा एप्लीकेशन डेटाबेस (SQL सर्वर 2012 में) में पूरे व्यवसाय तर्क शामिल है संग्रहित प्रक्रियाएं। हर बार जब हमें क्लाइंट को डेटाबेस प्रकाशित करना पड़ता है, तो यह अनावश्यक रूप से संग्रहीत कार्यविधियों को क्लाइंट डेटाबेस में कॉपी करने में परिणाम देता है।
समस्या :
सभी व्यावसायिक तर्क को कॉपी किया जाता है
-
एन्क्रिप्शन के साथ
>का उपयोगक्रय प्रक्रिया Proc_Name के साथ एन्क्रिप्शनइस पद्धति का परिणाम एन्क्रिप्टेड और गैर-नियत संग्रहित कार्यविधि कोड में है। हम यह नहीं मान सकते कि क्लाइंट पक्ष में कोड का कौन सा संस्करण चल रहा है, इसलिए इसे डिबग नहीं किया जा सकता है। संस्करण नियंत्रण लागू नहीं किया जा सकता। इसके अलावा, ग्राहक डेटाबेस की प्रतिकृति को क्रियान्वित नहीं कर सकता क्योंकि एन्क्रिप्टेड संग्रहित कार्यविधियों को दोहराया नहीं जाता है।
-
समानार्थी शब्द बनाना
लिंक्डसर्वरडीबी के लिए SYNONYM स्कीमा नाम। स्कीमानाम। प्रोसीएनएयह
Client_DBपर संदर्भों (समानार्थक) के निर्माण के लिए अनुमति देता है, जो किRemote_Linked_Server_DBपर स्थित वास्तविक संग्रहित प्रक्रियाओं को एक्सेस करता है। प्रत्येक संग्रहीत कार्यविधि में, पूरे डेटा कोClient_DBसे पहुंचाया जाता है औरRemote_Linked_Server_DBको प्रेषित किया जाता है जहां गणना की जाती है और परिणाम को वापस भेज दिया जाता है। यह तीव्र प्रदर्शन मुद्दों में परिणाम है। साथ ही रिमोट लिंक किए गए सर्वर से 24x7 इंटरनेट कनेक्टिविटी की आवश्यकता होती है।
आवश्यकता
हम एक समाधान की तलाश कर रहे हैं जिससे संग्रहित प्रक्रिया कोड हो सकता है संकलित (सुरक्षित) और क्लाइंट डेटाबेस से अलग। इसके अलावा, संकलित संग्रहीत प्रक्रिया कोड क्लाइंट-एंड पर उपलब्ध होना चाहिए ताकि क्लाइंट को 24x7 कनेक्शन को संग्रहीत कार्यविधियों तक पहुंचने के लिए किसी दूरस्थ स्थान की आवश्यकता न हो। हो सकता है कि दृश्य स्टूडियो डेटाबेस प्रोजेक्ट्स का उपयोग संग्रहीत कार्यविधि कोड या कुछ और करने के लिए किया जा सके।
[संपादित करें] मुझे पता चला कि SQL सर्वर 2014 ने नेटीपी संकलित संग्रहीत कार्यविधि कोड की अनुमति दी है। क्या यह सहायता हो सकती है? और SQL सर्वर 2014 RTM संस्करण पर्याप्त स्थिर है?
Comments
Post a Comment