ऐसे प्रश्न खोजें जो प्रतीक्षा कर रहे हों


34

एक निश्चित प्रकार के इंतजार को देखते हुए, आप कैसे खोजते हैं कि कौन से प्रश्न उन उत्पादन SQL 2008 R2 सर्वर पर सुरक्षित रूप से प्रतीक्षा कर रहे हैं?

इस विशेष मामले में मैं सोच रहा हूँ async_network_io

जवाबों:


32

इनकी जाँच करने का मेरा पसंदीदा तरीका एडम मैकहानिक के उत्कृष्ट sp_WhoIsActive संग्रहित खरीद का उपयोग करना है। यहां इसका उपयोग करने का एक वीडियो और कोड डाउनलोड करने के लिए एक लिंक दिया गया है:

http://www.brentozar.com/archive/2010/09/sql-server-dba-scripts-how-to-find-slow-sql-server-queries/

पकड़ यह है कि आपको परिणामों की जांच के लिए समय-समय पर इसे चलाना होगा। यदि आप चाहते हैं कि यह डेटा आपके लिए समय-समय पर इकट्ठा किया जाए, तो एक टेबल पर sp_WhoIsActive परिणामों को कैप्चर करने पर केंद्र लिटिल के ट्यूटोरियल की जांच करें:

http://www.littlekendra.com/2011/02/01/whoisactive/

अंत में, यदि आप चाहते हैं कि जब भी कोई क्वेरी async_network_io का इंतजार करे, तो आप एक नया टूल का उपयोग कर सकते हैं जिसे एक्सटेंडेड इवेंट्स कहते हैं। यह SQL सर्वर इंजन के अंदर डिबग पॉइंट की तरह है जहां आप जादू कर सकते हैं। सच कहूँ तो, यह अभी 2008 में उपयोग करने के लिए थोड़ा दर्दनाक है।


14

'async_wait_io' एक प्रतीक्षा प्रकार नहीं है। संभावित ASYNC% प्रतीक्षा प्रकार हैं:

  • ASYNC_IO_COMPLETION
  • ASYNC_NETWORK_IO
  • ASYNC_DISKPOOL_LOCK

प्रतीक्षा प्रकारों के लिए कुछ अच्छे लिंक:

वर्तमान वेटिंग को खोजने के लिए मेरी क्वेरी पर जाएं:

SELECT  req.session_id
       ,blocking_session_id
       ,ses.host_name
       ,DB_NAME(req.database_id) AS DB_NAME
       ,ses.login_name
       ,req.status
       ,req.command
       ,req.start_time
       ,req.cpu_time
       ,req.total_elapsed_time / 1000.0 AS total_elapsed_time
       ,req.command
       ,req.wait_type
       ,sqltext.text
FROM    sys.dm_exec_requests req
CROSS APPLY sys.dm_exec_sql_text(sql_handle) AS sqltext
JOIN    sys.dm_exec_sessions ses
        ON ses.session_id = req.session_id
WHERE req.wait_type IS NOT NULL
--WHERE req.wait_type = '?'

क्षमा करें, मेरा मतलब है async_network_io।
काइल ब्रांट

अन्य बहुत अच्छा लेख: ब्रेंट हे और बक वुडी साथ खोना इंतजार आँकड़े और प्रतीक्षा आँकड़े । वे बहुत सार्थक हैं!
मैरियन

@ मेरियन: ब्रेंट मुझे आज कुछ सामान दिखा रहा था, लेकिन समय से पहले भाग गया, इससे पहले कि हम इस लेख को प्राप्त करेंगे, शायद यह लेख उतना ही अच्छा होगा :-)
काइल ब्रांट

@ क्या आपको सामान दिखाने के लिए ब्रेंट मिला है और फिर भी हमसे पूछें? :) आपको उसे अपने कार्यालय में कुर्सी पर बैठाना चाहिए .. उसके मस्तिष्क को सुखा देना चाहिए .. और फिर उसे जाने देना चाहिए;)। और हमें परिणामों के बारे में बताने के लिए मत भूलना!
मैरियन

@ मेरियन: हाँ बहुत भाग्यशाली है उसकी मदद करने के लिए। बात यह है कि अगर मुझे यहाँ जवाब मिलता है तो इंटरनेट पर बाकी सभी को भी जवाब मिल जाता है :-)
काइल ब्रांट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.