Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

लेन-देन .NET या SQL सर्वर में संभाला जाना चाहिए?

कोई सख्त और तेज़ नियम नहीं है, लेकिन मुझे व्यापार स्तर से लेनदेन को नियंत्रित करने के कई कारण दिखाई देते हैं:

  • डेटा स्टोर की सीमाओं के पार संचार। लेन-देन का RDBMS के विरुद्ध होना आवश्यक नहीं है; वे विभिन्न संस्थाओं के विरुद्ध हो सकते हैं।

  • व्यावसायिक तर्क के आधार पर लेन-देन को रोलबैक/प्रतिबद्ध करने की क्षमता जो उस विशेष संग्रहीत प्रक्रिया के लिए उपलब्ध नहीं हो सकती है जिसे आप कॉल कर रहे हैं।

  • एक लेन-देन के भीतर प्रश्नों के एक मनमाना सेट को लागू करने की क्षमता। यह लेन-देन की संख्या के बारे में चिंता करने की आवश्यकता को भी समाप्त करता है।

  • व्यक्तिगत वरीयता:सी # में लेनदेन घोषित करने के लिए एक और अधिक सुंदर संरचना है:एक using खंड मैथा। तुलना करके, रोलबैक/प्रतिबद्ध करने के लिए कूदते समय मैंने हमेशा संग्रहित प्रक्रियाओं के अंदर लेनदेन को बोझिल पाया है।

कितने लेन-देन खोले जा रहे हैं, इसके आधार पर यह समस्या हो सकती है या नहीं भी हो सकती है (यह स्पष्ट नहीं है कि यह एक ही काम है, या एक प्रक्रिया जो उच्च संगामिति के साथ चलती है)। मैं सुझाव दूंगा कि वस्तुओं पर कौन से ताले लगाए जा रहे हैं, और कितने समय तक ताले लगाए जा रहे हैं।

ध्यान रखें कि सत्यापन संभवतः चाहिए ताला; क्या होगा यदि डेटा आपके द्वारा सत्यापित किए गए समय और कार्रवाई होने के समय के बीच बदलता है?

अगर यह है एक समस्या है, आप आपत्तिजनक प्रक्रिया को दो प्रक्रियाओं में तोड़ सकते हैं, और एक को TransactionScope के बाहर से कॉल कर सकते हैं ।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर (C# क्लाइंट) में बहुत अधिक डेटा सम्मिलित करने का सबसे तेज़ तरीका क्या है

  2. MVC4:UserIsInRole - SQL सर्वर डेटाबेस से कनेक्ट करने में असमर्थ

  3. डेटाटाइम की तालिका से प्रारंभ और समाप्ति मानों के साथ सूची प्राप्त करें

  4. खाता शेष की गणना के लिए SQL क्वेरी को अनुकूलित करना

  5. डेटाबेस में छवि डालें