मेरे पास दो संग्रहित प्रक्रियाएं हैं जो सिस्टम के लोड के तहत डेडलॉक कर रही हैं। Proc A एक तालिका से चयन कर रहा है जबकि Proc B उसी तालिका में सम्मिलित हो रहा है। लॉक ग्राफ़ दिखा रहा है कि Proc A में S मोड पेज लॉक है जो Proc B के लिए IX मोड लॉक चाहता है, Proc A हालांकि एक अलग पेज के लिए S मोड पेज लॉक का इंतज़ार कर रहा है कि Proc B में पहले से IX मोड पेज लॉक है। ।
स्पष्ट रूप से यह सुनिश्चित करके हल किया जा सकता है कि दोनों प्रश्न एक ही क्रम में तालिका में पृष्ठों को लॉक करते हैं, लेकिन मैं यह पता नहीं लगा सकता कि ऐसा कैसे करें।
मेरा प्रश्न है: INSERTs और चयन करते समय SQL सर्वर किस प्रकार पृष्ठों को लॉक करने के लिए निर्धारित करता है और आप इस व्यवहार को कैसे संशोधित कर सकते हैं?