क्या मैं SET TRANSACTION ISOLATION LEVEL SERIALIZABLE के बाद प्रतिबद्ध है?


9

एक संग्रहीत प्रक्रिया के अंदर, मेरे पास निम्नलिखित हैं: (sql सर्वर 2008)

 SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
 BEGIN TRANSACTION getStuff
 BEGIN TRY 
    /*  some selects, updates, etc, etc. */
    ....
    COMMIT TRANSACTION getStuff
 END TRY
 BEGIN CATCH 
   ...
 END CATCH

चूंकि यह लेनदेन आधारित है, इसलिए मेरा विचार था कि बाकी डेटाबेस कनेक्शन SERIALIZABLE से प्रभावित नहीं होंगे।

क्या मुझे अपनी प्रतिबद्धता के बाद अलग-थलग पड़े हुए अलगाव स्तर को पढ़ने की आवश्यकता है? क्या यह मेरे एप्लिकेशन सर्वर और डेटाबेस सर्वर के बीच अन्य कनेक्शन पर प्रतिकूल प्रभाव डालेगा?

जवाबों:


6

आज्ञा है TRANSACTION ISOLATION LEVEL, नहीं SERVER ISOLATION LEVEL। यह लेन-देन के दायरे के लिए केवल अलगाव स्तर को बदलता है।


5

नहीं, आप को अलग-थलग करने के लिए अलग-थलग नहीं होना चाहिए।

ऑनलाइन किताबों से ।

यदि आप किसी संग्रहीत कार्यविधि या ट्रिगर में SET ट्रांज़ैक्शन अलगाव जारी करते हैं, तो जब ऑब्जेक्ट लौटाता है तो आइसोलेशन स्तर उस स्तर पर रीसेट हो जाता है जब ऑब्जेक्ट को लागू किया गया था। उदाहरण के लिए, यदि आप एक बैच में REPEATABLE READ सेट करते हैं, और बैच तब एक संग्रहीत कार्यविधि कहता है, जो अलगाव स्तर को SERIALIZABLE के लिए सेट करता है, तो आइसोएबल READATABLE READ में सेट किए गए स्तर को नियंत्रित करता है जब संग्रहित प्रक्रिया बैच पर नियंत्रण लौटाती है।


3

आपके द्वारा पोस्ट की गई कमांड केवल SP में ट्रांजेक्शन को चलाती है TRANSACTION ISOLATION LEVEL SERIALIZABLE। अन्य कनेक्शन डिफ़ॉल्ट आइसोलेशन स्तर पर डिफ़ॉल्ट रूप से - प्रतिबद्ध पढ़े जाएंगे (जब तक कि स्पष्ट रूप से एक अलग अलगाव स्तर निर्दिष्ट नहीं किया जाता है)।

पॉल व्हाइट द्वारा एक उत्कृष्ट श्रृंखला है - SQL सर्वर अलगाव स्तर: एक श्रृंखला जो आपको गहराई से समझने में मदद करेगी कि अलग-अलग अलगाव के स्तर का क्या मतलब है और जब उनका उपयोग किया जाता है तो क्या करें।


-3

एक नया एल्गोरिथ्म जो पिछले दृष्टिकोणों के अधिकांश डाउनसाइड से बचा जाता है। यह एक आशावादी दृष्टिकोण का उपयोग करता है, जिससे लेनदेन को अवरुद्ध किए बिना आगे बढ़ने की अनुमति मिलती है। जब कोई लेन-देन करना चाहता है, तो इसकी जाँच की जाती है, और अगर यह धारावाहिक रूप से लागू नहीं होता तो इसे निरस्त कर दिया जाता है। सभी appproaches का अधिक विवरण: http://writeulearn.com/relational-database-transactions/


यह सवाल का जवाब नहीं लगता है ....
RDFozz
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.