2008-11-07 9 views
311

मैं एक विशिष्ट डेटाबेस में SQL सर्वर प्रोफाइलर ट्रेस को कैसे सीमित करूं? मैं देख नहीं सकता कि ट्रेस को कैसे फ़िल्टर किया जाए, उदाहरण के लिए सभी डेटाबेस के लिए ईवेंट न देखने के लिए।एसक्यूएल सर्वर प्रोफाइलर - एक डेटाबेस से केवल घटनाओं को प्रदर्शित करने के लिए ट्रेस फ़िल्टर कैसे करें?

उत्तर

464

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

+5

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

+27

में sysdatabases तालिका से पूछताछ करने के लिए सही मानों का पता लगाना होगा डेटाबेस आईडी: SELECT [name], [dbid] [मास्टर] से [dbo]। [Sysdatabases] [नाम] – Simon

+1

द्वारा आदेश भी आपके द्वारा चुने गए टेम्पलेट पर निर्भर करता है, यदि कोई हो। +1 – beaudetious

30

SQL 2005 में, आपको सबसे पहले अपने ट्रेस में डेटाबेस नाम कॉलम दिखाने की आवश्यकता है। करना सबसे आसान बात है ट्यूनिंग टेम्पलेट चुनना, जिसमें पहले से ही कॉलम जोड़ा गया है।

मान लिया जाये कि आपके द्वारा चयनित ट्यूनिंग टेम्पलेट है, फिल्टर करने के लिए:

  • बटन "घटनाक्रम चयन" टैब
  • क्लिक करें "कॉलम फिल्टर" पर क्लिक करें
  • चेक दिखाएँ सभी कॉलम (दाईं ओर नीचे)
  • "डेटाबेस नाम" का चयन करें, दाएं हाथ के फलक में पसंद के बगल में प्लस पर क्लिक करें और अपना डेटाबेस नाम टाइप करें।

मैं हमेशा ट्रेस को एक टेबल पर भी सहेजता हूं इसलिए मैं तथ्य के बाद ट्रेस डेटा पर पूछताछ कर सकता हूं।

8

प्रयोग करके मैं इस का पालन करने में सक्षम था:

एसक्यूएल प्रोफाइलर 2005 या SQL प्रोफाइलर 2000 डेटाबेस SQLServer 2000 में रहने वाले के साथ प्रयोग किया जाता है - समस्या का उल्लेख किया समस्या बनी रहती है, लेकिन SQL प्रोफाइलर 2005 SQLServer 2005 डेटाबेस के साथ प्रयोग किया जाता है जब , यह सही काम करता है!

सारांश में, इस मुद्दे SQLServer 2000 & SQLServer में सुधारा में प्रचलित हो रहा है 2005

जारी करने के लिए समाधान जब SQLServer 2000 के साथ काम कर रहा है (wearejimbo से समझाया के रूप में)

  1. नीचे के रूप में sysdatabases तालिका पूछताछ की डेटाबेस आप फ़िल्टर करना चाहते का DatabaseID पहचानें

    SELECT * 
    FROM master..sysdatabases 
    WHERE name like '%your_db_name%' -- Remove this line to see all databases 
    ORDER BY dbid 
    
  2. एसक्यूएल प्रोफाइलर 2000

1

की नई ट्रेस विंडो में DatabaseID फ़िल्टर (DatabaseName के बजाय) का प्रयोग करें एक नया टेम्पलेट बनाएँ और DBNAME की जाँच करें। अपने tracefile के लिए उस टेम्पलेट का प्रयोग करें।

2

ट्रेस गुणों में, ईवेंट चयन पर क्लिक करें सामान्य के बगल में शीर्ष पर टैब। फिर नीचे दाईं ओर कॉलम फ़िल्टर ... पर क्लिक करें। फिर आप फ़िल्टर कर सकते हैं कि फ़िल्टर करने के लिए, जैसे कि TextData या DatabaseName चुनें।

नोड तरह का विस्तार करें और %MyDatabaseName% या %TextDataToFilter% तरह प्रतिशत % संकेत के साथ अपने फिल्टर दर्ज करें। %% संकेतों के बिना फ़िल्टर काम नहीं करेगा।

इसके अलावा, चेकबॉक्स पंक्तियों को शामिल नहीं है को शामिल न करें जांच करना न भूलें मूल्यों ' आप क्षेत्र आप फ़िल्टर करना जैसे DatabaseNameजनरल टैब पर जाएं और अपने खाका बदल देख रहे हैं नहीं मिल सकता है, तो खाली क्षेत्र में सभी फ़ील्ड होना चाहिए।

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

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