2008-09-23 6 views
54

क्या प्रत्येक क्वेरी (प्रत्येक चयन क्वेरी सहित) को लॉग इन करने के लिए SQL Server 2008 एक्सप्रेस को बताने का कोई तरीका है?SQL सर्वर 2008 एक्सप्रेस डेटाबेस पर सभी प्रश्नों को लॉगिंग करना?

यह एक विकास मशीन है, इसलिए लॉगिंग के नकारात्मक दुष्प्रभाव चयन-क्वेरी कोई समस्या नहीं है।

कोई व्यक्ति एसक्यूएल प्रोफाइलर का उपयोग करने से पहले सुझाव देता है: यह एक्सप्रेस में उपलब्ध नहीं है (क्या किसी को पता है कि यह वेब संस्करण में उपलब्ध है?) और मैं दूर होने पर भी प्रश्नों को लॉग करने का एक तरीका ढूंढ रहा हूं।

उत्तर

61

एसक्यूएल सर्वर प्रोफाइलर:

  • फ़ाइल> नई ट्रेस
  • "सामान्य" टैब प्रदर्शित होता है।
  • यहां आप "फ़ाइल में सहेजें:" चुन सकते हैं, इसलिए यह एक फ़ाइल में लॉग इन है।
  • "ईवेंट चयन" टैब
  • उन आइटमों का चयन करें जिन्हें आप लॉग करना चाहते हैं।
  • टीएसक्यूएल-> एसक्यूएल: बैचस्टार्टिंग आपको एसक्यूएल
  • संग्रहित प्रक्रियाओं-> आरपीसी: पूर्ण आपको संग्रहीत प्रक्रियाएं प्राप्त करेगा। Microsoft से

अधिक जानकारी: एसक्यूएल सर्वर 2008 पुस्तकें ऑनलाइन - Using SQL Server Profiler

अद्यतन - एसक्यूएल एक्सप्रेस संस्करण:

एक टिप्पणी कर दिया गया कि एमएस एसक्यूएल सर्वर प्रोफाइलर एक्सप्रेस संस्करण के लिए उपलब्ध नहीं है । Profiler for Microsoft SQL Server 2005 Express Edition

+2

धन्यवाद। एक्सप्रेस में उपलब्ध नहीं है :-( –

+2

मैंने व्यक्तिगत रूप से यह कोशिश नहीं की है, लेकिन यहां यह है: माइक्रोसॉफ्ट एसक्यूएल सर्वर 2005 एक्सप्रेस संस्करण के लिए प्रोफाइलर http://sqlprofiler.googlepages.com/ – KyleLanser

+0

जब मैं कल काम करता हूं तो मैं कोशिश करूंगा mssql 2008 के खिलाफ वैकल्पिक कार्यक्रम बाहर। – KyleLanser

3

आप परिवर्तन लॉग कर सकते हैं। एसक्यूएल सर्वर 2008 इसे डेटा डेटा कैप्चर के साथ विशेष रूप से आसान बना देगा। लेकिन एसक्यूएल सर्वर लॉगिंग लॉगिंग पर बहुत अच्छा नहीं है।

यह प्रोफाइलर के साथ सैद्धांतिक रूप से संभव है, लेकिन यह आपके प्रदर्शन को मार देगा। आप अपने डेस्कटॉप पर "इससे दूर हो सकते हैं", लेकिन मुझे लगता है कि आप अपनी मशीन को समस्याओं का कारण बनने के लिए पर्याप्त धीमी गति से ध्यान देंगे। और यह निश्चित रूप से किसी भी प्रकार की तैनाती के बाद काम नहीं करेगा।

एक महत्वपूर्ण बात यह है कि कुछ अन्य लोगों ने पहले ही याद किया है: जब तक उन्होंने 2008 के लिए कुछ नहीं बदला, मैंने नहीं सुना, आप एक चयन को ट्रिगर नहीं कर सकते।

+0

धन्यवाद। खैर, यह एक विकास मशीन है, इसलिए यदि मैं उस सुविधा को चालू/बंद कर सकता हूं तो प्रदर्शन कोई मुद्दा नहीं है। प्रोडक्शन वातावरण में कैप्चरिंग का चयन किसी भी तरह आपदा के लिए नुस्खा जैसा लगता है। –

0

मैं या तो ट्रिगर्स का उपयोग करता हूं या आपकी एसक्यूएल लॉग फाइलों को देखने के लिए रेड गेट जैसे किसी तीसरे पक्ष के सॉफ्टवेयर का उपयोग करता हूं।

+0

लाल गेट लॉग बचाव केवल आवेषण, अद्यतन और हटा देता है। –

1

लगता है कि आप T-SQL

http://support.microsoft.com/kb/283790/

कि मदद कर सकता है का उपयोग करते हुए निशान बना सकते हैं:
वहाँ एक स्वतंत्र विकल्प प्रतीत होता है।

1

बस रिकॉर्ड के लिए, मैं DataWizard's SQL Performance Profiler का उपयोग अलग जवाब के रूप में करने के संकेतों को शामिल कर रहा हूं क्योंकि यह वास्तव में answer pointing at SQL Server Profiler के विपरीत है।

14 दिनों के लिए नि: शुल्क परीक्षण है, लेकिन यदि आपको इसे खरीदने की ज़रूरत है, तो यह 3 सर्वरों के लिए केवल 20 डॉलर (लिखने के समय, 2012-06-28) है। एसक्यूएल सर्वर एक्सप्रेस संस्करण का उपयोग कर हजारों लोगों को बचाने के लिए यह मेरे लिए उचित लगता है।

मैंने अभी तक परीक्षण का उपयोग किया है और यह ओपी की तलाश में बिल्कुल वही प्रदान करता है: किसी विशिष्ट डेटाबेस में आने वाले सभी प्रश्नों का पता लगाने का एक तरीका। यह एक एक्सएमएल फ़ाइल में एक ट्रेस निर्यात करने की पेशकश भी करता है। भुगतान संस्करण कुछ और सुविधाएं प्रदान करता है लेकिन मैंने अभी तक कोशिश नहीं की है।

अस्वीकरण: मैं समय-समय पर डीबी के साथ गड़बड़ करने वाला एक और डेवलपर हूं और मैं डेटाविज़ार्ड से संबद्ध नहीं हूं। मैं बस उनके उपकरण को पसंद करना चाहता था और लोगों को यह जानना चाहता था कि यह अस्तित्व में है क्योंकि इससे मुझे मेरी SQL सर्वर एक्सप्रेस स्थापना को प्रोफाइल करने में मदद मिली है।

+0

यह एक गलत तरीका है जब कोई कंपनी उस उत्पाद को लेने का फैसला करती है जो पहले खुला स्रोत और मुफ्त था, तो इसे बेचने के लिए पूरी तरह से मुक्त संस्करण को पूरी तरह से बंद कर देता है। मैं एक परियोजना में समय डालने और इसे मुद्रीकृत करना चाहता हूं। लेकिन पुराने संस्करणों को वहां छोड़ दें, और रेड-गेट (.Net Reflector) खींचें जहां आप किसी की कामकाजी स्थापना को निष्क्रिय करते हैं। मैंने केवल अंजलाब का इस्तेमाल किया क्योंकि यह मुफ़्त था। यदि मैं किसी टूल पर $ 20 खर्च करने जा रहा हूं, तो मुझे लगता है कि मैं एसक्यूएल सर्वर डेवलपर संस्करण प्राप्त करने के लिए $ 50 खर्च करूंगा जिसमें एसक्यूएल प्रोफाइलर शामिल है और एसक्यूएल सर्वर की पेशकश करने के लिए बहुत कुछ और है। – Sam

+1

@ सैम: आपकी टिप्पणी के लिए धन्यवाद। मुझे पता नहीं था कि SQL सर्वर का 'डेवलपर संस्करण' था! $ 50 एक बहुत ही बढ़िया सौदा है। और मैं आपके बिंदु से सहमत हूं कि सॉफ़्टवेयर के पुराने संस्करण अभी भी उपलब्ध होना चाहिए। लेकिन नए उपयोगकर्ताओं के लिए, मुझे दर्द महसूस नहीं होता है, वास्तव में। वे या तो इसे खरीदते हैं या वे नहीं करते हैं। – Oliver

28

... देर जवाब लेकिन मुझे आशा है कि यह अन्य पाठकों यहाँ उपयोगी होगा ...

इस जैसे उन्नत लेखा परीक्षा आवश्यकताओं के साथ SQL सर्वर एक्सप्रेस का उपयोग करना वास्तव में इष्टतम जब तक यह केवल विकास वातावरण में है नहीं है।

आप जिस डेटा को चाहते हैं उसे प्राप्त करने के लिए आप निशान (www.broes.nl/2011/10/profiling-on-sql-server-express/) का उपयोग कर सकते हैं लेकिन आपको इन्हें स्वयं पार्स करना होगा।

तीसरे पक्ष के उपकरण हैं जो ऐसा कर सकते हैं लेकिन उनकी लागत काफी अधिक होगी। ApexSQL से Log explorer सबकुछ लॉग कर सकते हैं लेकिन Idera’s अनुपालन प्रबंधक चयन कथन भी लॉग करेगा लेकिन इसकी लागत बहुत अधिक है।

+0

क्या यह एसक्यूएल सर्वर 2014 एक्सप्रेस के साथ आता है प्रोफाइलर के साथ सुधार हुआ है? – zanlok

25

एक और तरीका प्रश्नों कि यहाँ वर्णित एमएस SQL ​​सर्वर एक्सप्रेस पर निष्पादित किया गया है के बारे में जानकारी प्राप्त करने के लिए नहीं है: http://blog.sqlauthority.com/2008/01/03/sql-server-2005-last-ran-query-recently-ran-query/

संक्षेप में, यह सिस्टम तालिकाओं के लिए स्मार्ट क्वेरी चलाता है और हो जाता है की जानकारी (पाठ, समय मार डाला) प्रश्नों के बारे में (या यदि आवश्यक हो तो कैश की गई क्वेरी योजनाएं)। इस प्रकार आप एमएसएसएलएल 2008 एक्सप्रेस संस्करण में प्रोफाइलर के बिना निष्पादित प्रश्नों के बारे में जानकारी प्राप्त कर सकते हैं।

SELECT deqs.last_execution_time AS [Time], dest.TEXT AS [Query] 
FROM sys.dm_exec_query_stats AS deqs 
CROSS APPLY sys.dm_exec_sql_text(deqs.sql_handle) AS dest 
ORDER BY deqs.last_execution_time DESC 
+2

वास्तविक और तेज़ समाधान के मामले में इम्हो सबसे अच्छा जवाब, धन्यवाद! –

+1

हाँ - यह हो जाता है! धन्यवाद! +1। –

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