2008-09-24 11 views
6

मैं जानना चाहता हूं कि कुछ प्रदर्शन समस्याओं का निदान करने के लिए वर्तमान में कौन सी संग्रहित प्रक्रियाएं चल रही हैं। मैं उसे कैसे प्राप्त करूं?एसक्यूएल सर्वर 2000 - मैं कैसे पता लगा सकता हूं कि वर्तमान में कौन सी संग्रहीत प्रक्रियाएं चल रही हैं?

उत्तर

4

ताले और गतिरोध का विश्लेषण करने के लिए बहुत उपयोगी स्क्रिप्ट: http://www.sommarskog.se/sqlutil/aba_lockinfo.html

यह प्रक्रिया या ट्रिगर और वर्तमान बयान दर्शाता है।

2

आप इसे खोजने के लिए एसक्यूएल प्रोफाइलर का उपयोग कर सकते हैं।

संपादित करें: यदि आप जिस ऐप को चला रहे हैं उसे रोक सकते हैं, तो आप एसक्यूएल प्रोफाइलर शुरू कर सकते हैं, ऐप चला सकते हैं और संग्रहीत प्रक्रियाओं सहित क्या चल रहा है इसे देख सकते हैं।

+0

यह काम नहीं करेगा क्योंकि एसपी पहले ही चल रहा है और मैं जानना चाहता हूं कि यह क्या है। – Jon

2

मुझे लगता है कि आप कनेक्शन की सूची प्राप्त करने के लिए sp_who2 निष्पादित कर सकते हैं, लेकिन फिर यह निष्पादित करने के लिए विशिष्ट कनेक्शन पर SQL प्रोफाइलर के माध्यम से एक ट्रेस चलाने की आवश्यकता होगी। मुझे नहीं लगता कि उन प्रश्नों के साथ काम करता है जो पहले से चल रहे हैं।

1

एंटरप्राइज़ मैनेजर का उपयोग करके, आप प्रबंधन पेड़ अनुभाग खोल सकते हैं, और वर्तमान गतिविधि -> प्रक्रिया जानकारी चुन सकते हैं। प्रोसेस आईडी पर डबल क्लिक आपको दिखाएगा कि वह प्रक्रिया क्या चल रही है। यदि यह एक संग्रहीत प्रक्रिया है, तो यह आपको पैरामीटर नहीं दिखाएगा। इसके लिए एसक्यूएल प्रोफाइलर का उपयोग करने के ब्रायन किम के सुझाव का उपयोग करना बेहतर होगा।

2

DBCC INPUTBUFFER आपको एक स्पिड पर इनपुट के पहले 255 वर्ण दिखाएगा (आप जिस स्पिड्स में रूचि रखते हैं उसे निर्धारित करने के लिए आप sp_who2 का उपयोग कर सकते हैं)। पूरे आदेश को देखने के लिए, आप ::fn_get_sql() का उपयोग कर सकते हैं।

संबंधित मुद्दे

 संबंधित मुद्दे