मैंने पहले यह मान लिया था कि SQL सर्वर केवल अवरुद्ध_ सत्र_एड कॉलम में एक अवरुद्ध सत्र की रिपोर्ट करेगा, यदि अवरुद्ध सत्र तार्किक लॉक की प्रतीक्षा कर रहे थे और कुछ और नहीं जैसे कि PAGELATCH_*
।
आप एडम मैकानिक की sp_WhoIsActive
प्रक्रिया का उपयोग कर रहे हैं , एक अंतर्निहित SQL सर्वर सुविधा नहीं। एडम की प्रक्रिया अवरुद्ध करने के सभी 'दिलचस्प' कारणों की रिपोर्ट करती है, न कि केवल लॉक अवरोधन। अंतर्निहित जानकारी विभिन्न स्रोतों से आती है, जिसमें sysprocesses , sysinos_exec_requests और sysinos_os_waiting_tasks शामिल हैं ।
एक कार्य लॉक के अलावा अन्य चीजों के लिए इंतजार कर सकता है। यह, उदाहरण के लिए, किसी पृष्ठ पर एक पंक्ति पर एक विशेष ताला प्राप्त करने में सक्षम हो सकता है, लेकिन फिर भी एक विशेष पृष्ठ कुंडी हासिल करने के लिए इंतजार करना पड़ता है (क्योंकि अन्य कार्यों ने एक असंगत मोड में उसी पृष्ठ को लटकाया है)।
आपके उदाहरण में, PAGELATCH_EX
एक्सक्लूसिव पेज लैक्स नियमित डेटा या इंडेक्स पेजों पर हैं, न कि पीएफएस, जीएएम, एसजीएएम, डीसीएम या बीसीएम पेजों के अनुसार, (*) वेट_इनफो के अंत में इंगित किया गया है ।
आप दस्तावेज़ (ब्लॉग प्रविष्टियाँ) sp_WhoIsActive
यहाँ पा सकते हैं ।