-
इन घटनाओं को लॉग करने वाला ट्रेस बनाने के लिए SQL सर्वर प्रोफाइलर (SSMS में टूल मेनू पर) का उपयोग करें:
RPC:Completed SP:Completed SP:StmtCompleted SQL:BatchCompleted SQL:StmtCompleted
-
आप मानक ट्रेस टेम्पलेट से शुरू कर सकते हैं और इसे काट सकते हैं। आपने यह निर्दिष्ट नहीं किया कि यह एक विशिष्ट डेटाबेस या पूरे सर्वर के लिए था, यदि यह विशिष्ट डीबी के लिए है, तो डेटाबेस आईडी कॉलम शामिल करें और अपने डीबी पर एक फ़िल्टर सेट करें (
SELECT DB_ID('dbname')
) सुनिश्चित करें कि तार्किक रीड्स डेटा कॉलम प्रत्येक ईवेंट के लिए शामिल है। फ़ाइल में लॉग इन करने के लिए ट्रेस सेट करें। यदि आप पृष्ठभूमि में अप्राप्य चलाने के लिए इस ट्रेस को छोड़ रहे हैं, तो अधिकतम ट्रेस फ़ाइल आकार 500 एमबी या 1 जीबी सेट करना एक अच्छा विचार है यदि आपके पास बहुत जगह है (यह सब इस बात पर निर्भर करता है कि सर्वर पर कितनी गतिविधि है, इसलिए आपको इसे चूसना होगा और देखना होगा)। -
संक्षेप में ट्रेस प्रारंभ करें और फिर उसे रोक दें। गोटो फ़ाइल-> निर्यात-> स्क्रिप्ट ट्रेस परिभाषा और अपना डीबी संस्करण चुनें, और एक फ़ाइल में सहेजें। अब आपके पास एक एसक्यूएल स्क्रिप्ट है जो एक ट्रेस बनाता है जिसमें प्रोफाइलर जीयूआई के माध्यम से चलने से बहुत कम ओवरहेड होता है। जब आप इस स्क्रिप्ट को चलाते हैं तो यह ट्रेस आईडी आउटपुट करेगा (आमतौर पर
@ID=2
); इसे नोट कर लें। -
एक बार जब आपके पास एक ट्रेस फ़ाइल (.trc) हो जाती है (या तो अधिकतम फ़ाइल आकार तक पहुँचने के कारण ट्रेस पूरा हो गया है या आपने
का उपयोग करके चल रहे ट्रेस को रोक दिया है।EXEC sp_trace_setstatus @ID, 0
EXEC sp_trace_setstatus @ID, 2
आप ट्रेस को प्रोफाइलर में लोड कर सकते हैं, या ClearTrace (बहुत आसान) का उपयोग कर सकते हैं या इसे तालिका में लोड कर सकते हैं:
SELECT * INTO TraceTable
FROM ::fn_trace_gettable('C:\location of your trace output.trc', default)
फिर आप इस तरह के डेटा को एकत्रित करने के लिए एक क्वेरी चला सकते हैं:
SELECT COUNT(*) AS TotalExecutions,
EventClass, CAST(TextData as nvarchar(2000))
,SUM(Duration) AS DurationTotal
,SUM(CPU) AS CPUTotal
,SUM(Reads) AS ReadsTotal
,SUM(Writes) AS WritesTotal
FROM TraceTable
GROUP BY EventClass, CAST(TextData as nvarchar(2000))
ORDER BY ReadsTotal DESC
एक बार जब आप महंगे प्रश्नों की पहचान कर लेते हैं, तो आप वास्तविक निष्पादन योजनाओं को उत्पन्न और जांच सकते हैं।