जैसा कि टिप्पणी की गई है, एडम मैकैनिक द्वारा sp_whoIsActive के आसपास सबसे अच्छा उपकरण है । इसका उपयोग कई तरीकों से किया जा सकता है, यह देखने के लिए कि आपके द्वारा स्क्रिप्ट लॉन्च करने के समय क्या चल रहा है या आप इसे कुछ विशिष्ट कार्रवाई की निगरानी के लिए छोरों में चला सकते हैं, उदाहरण के लिए धीमी क्वेरी।
लूप में चलाने के लिए यहां एक नज़र डालें: एक लूप में sp_whoisactive का उपयोग करके गतिविधि को कैसे लॉग करें
धीमी गति से प्रश्नों का पता लगाने के लिए: स्लो SQL सर्वर क्वेरी खोजने के लिए sp_WhoIsctive का उपयोग कैसे करें
आप डीएमवी का उपयोग सीधे तौर पर अपने सबसे धीमे प्रश्नों और वहां से कार्य करने के लिए कर सकते हैं। ग्लेन बेरी के नैदानिक प्रश्नों की जाँच करें ।
और अंत में आप इस क्वेरी का उपयोग अधिकांश समय लेने वाले प्रश्नों को खोजने के लिए कर सकते हैं। आप अधिक डेटा जोड़ने या अन्य जानकारी प्राप्त करने के लिए अन्य लोगों के साथ जुड़ने के लिए dm_exec_query_stats के साथ खेल सकते हैं । ध्यान रखें कि dmv दूर हो जाता है और हर बार सर्वर रिस्टार्ट होने के बाद रिफ्रेश हो जाता है।
SELECT creation_time
,last_execution_time
,total_physical_reads
,total_logical_reads
,total_logical_writes
, execution_count
, total_worker_time
, total_elapsed_time
, total_elapsed_time / execution_count avg_elapsed_time
,SUBSTRING(st.text, (qs.statement_start_offset/2) + 1,
((CASE statement_end_offset
WHEN -1 THEN DATALENGTH(st.text)
ELSE qs.statement_end_offset END
- qs.statement_start_offset)/2) + 1) AS statement_text
FROM sys.dm_exec_query_stats AS qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) st
ORDER BY total_elapsed_time / execution_count DESC;
संपादित करें
एक नया विकल्प कुछ समय पहले से उपलब्ध है, फर्स्ट रेपोन्डर किट । ब्रेंटऑज़र टीम द्वारा एमआईटी लाइसेंस के तहत स्वतंत्र रूप से प्रदान की जाने वाली स्क्रिप्ट का एक सेट है , जो ओपी द्वारा पूछे गए सहित विभिन्न कार्यों पर मदद करेगा। इस मामले के लिए मुख्य रूप से sp_BlitzFirst और sp_BlitzWho स्क्रिप्ट।