गतिरोध-प्रूफ कोड लिखना वास्तव में कठिन है। यहां तक कि जब आप उसी क्रम में तालिकाओं तक पहुंचते हैं तब भी आपको गतिरोध मिल सकता है [1]। मैंने अपने ब्लॉग पर एक पोस्ट लिखी है जिसमें कुछ तरीकों के बारे में बताया गया है जो आपको गतिरोध की स्थितियों से बचने और हल करने में मदद करेंगे।
यदि आप यह सुनिश्चित करना चाहते हैं कि दो कथन/लेन-देन कभी भी गतिरोध नहीं करेंगे, तो आप sp_lock का उपयोग करके यह देख कर इसे प्राप्त करने में सक्षम हो सकते हैं कि प्रत्येक कथन कौन से लॉक का उपभोग करता है सिस्टम संग्रहीत प्रक्रिया। ऐसा करने के लिए आपको या तो बहुत तेज होना होगा या होल्डलॉक संकेत के साथ खुले लेनदेन का उपयोग करना होगा।
नोट:
- कोई भी चयन कथन जिसमें एक बार में एक से अधिक लॉक की आवश्यकता होती है, एक बुद्धिमानी से डिज़ाइन किए गए लेनदेन के विरुद्ध गतिरोध कर सकता है जो ताले को उल्टे क्रम में पकड़ लेता है।