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

डिज़ाइन द्वारा शून्य SQL गतिरोध - कोई कोडिंग पैटर्न?

गतिरोध-प्रूफ कोड लिखना वास्तव में कठिन है। यहां तक ​​​​कि जब आप उसी क्रम में तालिकाओं तक पहुंचते हैं तब भी आपको गतिरोध मिल सकता है [1]। मैंने अपने ब्लॉग पर एक पोस्ट लिखी है जिसमें कुछ तरीकों के बारे में बताया गया है जो आपको गतिरोध की स्थितियों से बचने और हल करने में मदद करेंगे।

यदि आप यह सुनिश्चित करना चाहते हैं कि दो कथन/लेन-देन कभी भी गतिरोध नहीं करेंगे, तो आप sp_lock का उपयोग करके यह देख कर इसे प्राप्त करने में सक्षम हो सकते हैं कि प्रत्येक कथन कौन से लॉक का उपभोग करता है सिस्टम संग्रहीत प्रक्रिया। ऐसा करने के लिए आपको या तो बहुत तेज होना होगा या होल्डलॉक संकेत के साथ खुले लेनदेन का उपयोग करना होगा।

नोट:

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


  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 सर्वर में डेटाबेस से सभी ट्रिगर कैसे छोड़ें या हटाएं?

  2. एसक्यूएल सर्वर 2008 प्रबंधन स्टूडियो मेरी क्वेरी के सिंटैक्स की जांच नहीं कर रहा है

  3. SQL सर्वर के लिए मावेन निर्भरता की स्थापना

  4. संग्रहीत प्रक्रिया या फ़ंक्शन पैरामीटर की अपेक्षा करता है जो आपूर्ति नहीं की जाती है

  5. SQL सर्वर 2016:क्वेरी परिणामों को CSV फ़ाइल में सहेजें