Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

SQL सर्वर ईवेंट को कैप्चर और विश्लेषण कैसे करें

SQL सर्वर डेटाबेस व्यवस्थापक के रूप में काम करते समय, आपके पास SQL ​​सर्वर इंजन के महासागर में गहराई से गोता लगाने और आंतरिक रूप से क्या हो रहा है, इसका पता लगाने, समस्या निवारण और आपके सामने आने वाली किसी भी समस्या को ठीक करने में सक्षम होने का कौशल होना चाहिए।
आप उन लॉग से लाभ उठा सकते हैं जो SQL सर्वर इंजन द्वारा स्थानीय रूप से SQL सर्वर लॉग के रूप में या बाहरी रूप से इवेंट लॉग के रूप में लिखे गए हैं, लेकिन आप उन्हें अपनी समस्या निवारण और ट्यूनिंग के लिए एकमात्र स्रोत के रूप में नहीं मान सकते हैं। संचालन।

SQL सर्वर आपको कई अंतर्निहित सुविधाएँ प्रदान करता है जिनका उपयोग विभिन्न प्रकार के SQL सर्वर ईवेंट एकत्र करने के लिए किया जा सकता है। इस लेख में, हम इन अंतर्निहित सुविधाओं के बारे में जानेंगे और सबसे कुशल मुक्त तृतीय पक्ष टूल में से एक पर विचार करेंगे जिसका उपयोग SQL सर्वर ईवेंट को एकत्रित और विश्लेषण करने के लिए किया जा सकता है।

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

SQL सर्वर प्रोफाइलर का उपयोग SQL सर्वर डेटाबेस प्रशासकों और डेवलपर्स द्वारा व्यापक रूप से कनेक्टेड SQL सर्वर इंस्टेंस पर चल रहे प्रश्नों के बारे में भिन्न प्रकार की घटनाओं को एकत्र करने के लिए किया जाता है और फिर इस जानकारी का उपयोग क्वेरी प्रदर्शन को बढ़ाने के लिए किया जाता है।

SQL Profiler आपको कई प्रकार की घटनाओं को कैप्चर करने की क्षमता प्रदान करता है, उन ईवेंट गुणों को निर्दिष्ट करता है जिनमें आप रुचि रखते हैं और पहले से निर्दिष्ट संपत्ति मूल्यों के आधार पर कैप्चर किए गए डेटा को फ़िल्टर करते हैं। आप इस बात की गहराई तक जा सकते हैं कि कौन सा उपयोगकर्ता किस डेटाबेस टेबल पर किस प्रकार की क्रिया कर रहा है, किस मशीन से और किस समय पर। इसके अलावा, SQL Profiler उपभोग किए गए संसाधनों की संख्या प्रदर्शित करता है और दिखाता है कि कार्रवाई पूरी हो गई है या त्रुटि के साथ विफल हो गई है।

SQL Profiler के माध्यम से एकत्रित होने वाले ईवेंट या तो कई मौजूदा टेम्प्लेट का उपयोग करके या मौजूदा ईवेंट का उपयोग करके अपना स्वयं का अनुकूलित टेम्प्लेट बनाकर किया जाता है। सबसे पहले, आपको SQL सर्वर इंस्टेंस से कनेक्ट करने की आवश्यकता है, जिससे आप ईवेंट को कैप्चर करने की योजना बना रहे हैं, SQL सर्वर इंस्टेंस का नाम, प्रमाणीकरण विधि और उस SQL ​​सर्वर इंस्टेंस से कनेक्ट करने के लिए आवश्यक क्रेडेंशियल्स प्रदान करके, जैसा कि नीचे दिखाया गया है:

SQL सर्वर इंस्टेंस से कनेक्ट होने के बाद, आपसे प्रोफाइलिंग प्रक्रिया के उद्देश्य के आधार पर एकत्रित की जाने वाली घटनाओं के लिए टेम्पलेट निर्दिष्ट करने का अनुरोध किया जाएगा, जैसा कि नीचे दिखाया गया है:

आप पिछली छवि से देख सकते हैं कि SQL Profiler आपको ट्रेसिंग परिणाम को किसी फ़ाइल या मौजूदा डेटाबेस तालिका में सहेजने का विकल्प प्रदान करता है। यदि प्रदान किया गया कोई भी टेम्प्लेट आपकी आवश्यकताओं के अनुरूप नहीं है, तो आप आसानी से ईवेंट चयन . पर जा सकते हैं सभी ईवेंट और कॉलम दिखाने के लिए टैब और टिक करें और फिर कैप्चर की गई घटनाओं को उन गुणों के साथ फ़िल्टर करें जिनमें आप रुचि रखते हैं। उदाहरण के लिए, आप किसी विशिष्ट डेटाबेस, डेटाबेस उपयोगकर्ता, डेटाबेस तालिका, होस्ट मशीन आदि से आने वाली घटनाओं को कैप्चर करने के लिए फ़िल्टर कर सकते हैं। पर, इस प्रकार है:

अपनी रुचि के ईवेंट चुनने के बाद, बस चलाएं . क्लिक करें बटन पर क्लिक करें और चयनित डेटाबेस से ईवेंट प्राप्त करना प्रारंभ करें, जैसा कि नीचे दिखाया गया है:

ध्यान रखें कि, यदि आप केवल उन घटनाओं को एकत्रित करने के लिए एक बहुत सटीक फ़िल्टर को परिभाषित नहीं करते हैं जिनमें आप रुचि रखते हैं, तो SQL Profiler बड़ी संख्या में ईवेंट एकत्र करेगा जिन्हें पढ़ना और विश्लेषण करना मुश्किल होगा। इसके अतिरिक्त, यह नहीं . है उत्पादन वातावरण पर SQL Profiler उपकरण चलाने की सिफारिश की क्योंकि यह सर्वर संसाधनों को "खाएगा" और इसके प्रदर्शन को मार देगा। यदि आपको इसका उपयोग करने के लिए बुरी तरह से आवश्यकता है, तो सटीक फ़िल्टर का उपयोग करके घटनाओं के दायरे को कम करने का प्रयास करें।

विस्तारित ईवेंट

विभिन्न प्रकार के SQL ईवेंट को कैप्चर करने के लिए SQL Profiler पदावनत टूल का उपयोग करने के कारण होने वाले प्रदर्शन में गिरावट की समस्या को दूर करने के लिए, SQL Server 2008 में एक हल्का, अत्यधिक स्केलेबल और कॉन्फ़िगर करने योग्य प्रदर्शन मॉनिटरिंग फीचर पेश किया गया था, जिसका उपयोग उपयोगी जानकारी एकत्र करने में किया जा सकता है। उपलब्ध क्रियाओं की विस्तृत श्रृंखला से, कम से कम संभव SQL संसाधनों की खपत के साथ, जो SQL सर्वर प्रश्नों के प्रदर्शन को समस्या निवारण और ट्यूनिंग में मदद करता है। इस ईवेंट कैप्चरिंग फ़ीचर को SQL सर्वर विस्तारित ईवेंट . कहा जाता है ।

विस्तारित ईवेंट से SQL सर्वर प्रबंधन स्टूडियो के माध्यम से विस्तारित ईवेंट सुविधा तक पहुँचा जा सकता है प्रबंधन . के अंतर्गत विकल्प नोड. एक नया विस्तारित ईवेंट सत्र बनाने के लिए, सत्र . पर राइट-क्लिक करें विकल्प, विस्तारित ईवेंट . के अंतर्गत नोड करें और नया सत्र select चुनें नीचे के रूप में:

नए सत्र . से विंडो में, आपके पास SQL ​​Profiler टेम्प्लेट की तुलना में अधिक पूर्वनिर्धारित टेम्प्लेट के साथ कई उपलब्ध टेम्प्लेट में से चयन करने का विकल्प होता है, या बस ब्लैंक टेम्प्लेट का उपयोग करने के लिए और स्पष्ट रूप से उन ईवेंट को निर्दिष्ट करने का विकल्प होता है जिनमें आप रुचि रखते हैं, जैसा कि नीचे दिखाया गया है:

ईवेंट . से टैब पर, आप ईवेंट श्रेणी के आधार पर उन ईवेंट को फ़िल्टर कर सकते हैं, जिनमें आपकी रुचि है, फिर चुनें कि प्रत्येक ईवेंट के लिए आपको कौन-से गुण पुनर्प्राप्त करने हैं. इसके अलावा, आप कैप्चर की गई घटनाओं के दायरे को कम करने के लिए एक अनुकूलित फ़िल्टर बना सकते हैं, जैसा कि नीचे दिखाया गया है:

संग्रहण विस्तारित ईवेंट सत्र परिणाम को सहेजने के लिए पृष्ठ आपको विभिन्न विकल्प प्रदान करता है। इस उदाहरण में, हम ट्रेस परिणाम को एक विस्तारित ईवेंट फ़ाइल में नीचे कॉन्फ़िगर की गई सेटिंग्स के साथ रखेंगे:

अपनी निगरानी आवश्यकताओं को पूरा करने के लिए विस्तारित ईवेंट सत्र को अनुकूलित करने के बाद, ठीक . क्लिक करें सत्र बनाने के लिए बटन। सत्र बन जाने के बाद, यह स्वचालित रूप से ईवेंट कैप्चर करना प्रारंभ नहीं करेगा जब तक कि आप इसे सत्र निर्माण प्रक्रिया के दौरान कॉन्फ़िगर नहीं करते हैं। सत्र को ईवेंट कैप्चर करना प्रारंभ करने की अनुमति देने के लिए, बनाए गए सत्र पर राइट-क्लिक करें और सत्र प्रारंभ करें . चुनें विकल्प, जैसा कि नीचे दिखाया गया है:

कैप्चर किए गए सत्र को देखने के लिए आपके पास उस भौतिक फ़ाइल को खोलने का विकल्प होता है जिसे घटनाओं को संग्रहीत करने के लिए पहले कॉन्फ़िगर किया गया था, या बस बनाए गए सत्र पर राइट-क्लिक करें और लाइव डेटा देखें का चयन करें। विकल्प, जैसा कि नीचे दिखाया गया है:

एक नई विंडो खोली जाएगी, जिसमें एकत्र किए गए ईवेंट को प्रत्येक ईवेंट के गुण मानों के साथ दिखाया जाएगा, जैसा कि नीचे दिया गया है:

यद्यपि आप कुछ क्लिकों के साथ आसानी से विस्तारित ईवेंट बना सकते हैं, फिर भी आपको ईवेंट नामकरण परंपरा में जटिलता के कारण मॉनिटर करने के लिए सही ईवेंट चुनने का प्रयास करते समय कुछ कठिनाइयों का सामना करना पड़ता है, जिससे प्रत्येक ईवेंट के पीछे के उद्देश्य को समझना मुश्किल हो जाता है। इसके अलावा, GUI जिसमें सत्र की जानकारी प्रदर्शित होती है, वह अभी भी उपयोगकर्ता के अनुकूल नहीं है जो घटनाओं और उनके गुणों का विश्लेषण करने में जटिल है। इस बिंदु से, अधिक उपयोगकर्ता-अनुकूल तृतीय पक्ष टूल की आवश्यकता बढ़ रही है, जिसकी चर्चा हम इस लेख के अगले भाग में करेंगे।

dbफोर्ज इवेंट प्रोफाइलर

SQL सर्वर के लिए dbForge इवेंट प्रोफाइलर एक मुफ़्त है टूल जो आपको SQL सर्वर ईवेंट को कैप्चर और विश्लेषण करने की क्षमता प्रदान करता है और ईवेंट डेटा को बाद की परीक्षा के लिए एक भौतिक ट्रेस फ़ाइल में संग्रहीत करता है।

SQL सर्वर के लिए dbForge Event Profiler उच्चतम संभव प्रदर्शन और न्यूनतम सर्वर लोड के साथ विस्तारित इवेंट फीचर के लिए पूर्ण समर्थन के साथ चलकर SQL Profiler प्रदर्शन गिरावट की समस्या पर काबू पाता है।

SQL सर्वर के लिए dbForge इवेंट प्रोफाइलर को विस्तारित इवेंट फीचर पर आकर्षक इवेंट प्रोफाइलर टूल क्या बनाता है क्वेरी सिंटैक्स हाइलाइटिंग है सुविधा जो SQL Profiler या विस्तारित ईवेंट सुविधा में उपलब्ध नहीं है। इसके अलावा, यह फ़िल्टरिंग और सॉर्टिंग . करने की क्षमता प्रदान करता है संचालन ग्रिड में ट्रेसिंग परिणामों के साथ।

SQL सर्वर के लिए dbForge Event Profiler का उपयोग SQL सर्वर डेटाबेस इंजन, विश्लेषण सेवाओं और एकीकरण सेवाओं से विभिन्न प्रकार की गतिविधियों की निगरानी के लिए आसानी से किया जा सकता है, T-SQL प्रश्नों और लेनदेन के प्रदर्शन से संबंधित समस्याओं का निवारण और विभिन्न SQL सर्वर त्रुटियों की निगरानी और चेतावनियाँ।

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

SQL सर्वर इवेंट को कैप्चर करने के लिए SQL सर्वर के लिए dbForge इवेंट प्रोफाइलर का उपयोग करने के लिए, आपको इसे dbForge डाउनलोड पेज से मुफ्त में डाउनलोड करना होगा, और इसे सीधे-फॉरवर्ड इंस्टॉलेशन विज़ार्ड का उपयोग करके अपने SQL सर्वर या मशीन पर इंस्टॉल करना होगा, जैसा कि नीचे दिया गया है। :

स्थापना प्रक्रिया प्रारंभ करने के लिए, इंस्टॉल करें . क्लिक करें स्वागत . से बटन पृष्ठ और उस स्थान को निर्दिष्ट करें जहां आप उपकरण स्थापित करना चाहते हैं, गंतव्य चुनें . से नीचे पेज:

स्थापना स्थान निर्दिष्ट करने के बाद, अगला . क्लिक करें बटन। शॉर्टकट . में पृष्ठ पर, निर्दिष्ट करें कि क्या आप अपने डेस्कटॉप पर dbForge टूल के लिए एक शॉर्टकट आइकन बनाने की योजना बना रहे हैं, फिर अगला पर क्लिक करें। आगे बढ़ने के लिए:

फ़ाइल संघों . पर पृष्ठ पर, आपसे उन फ़ाइलों के लिए एक्सटेंशन निर्दिष्ट करने का अनुरोध किया जाएगा जो dbForge टूल से संबद्ध होंगी। उन फ़ाइलों के लिए एक्सटेंशन चुनें जिन्हें आप इस टूल का उपयोग करके खोलने की योजना बना रहे हैं, फिर अगला . पर क्लिक करें आगे बढ़ने के लिए:

स्टार्टअप अनुकूलन . पर पृष्ठ, समीक्षा करें और टूल प्रदर्शन उपयोग के लिए सर्वोत्तम विकल्प चुनें और फिर अगला . पर क्लिक करें आगे बढ़ने के लिए:

अब आपके चयन के आधार पर संस्थापन प्रक्रिया शुरू होगी, प्रगति पट्टी के साथ संस्थापन प्रक्रिया की स्थिति दर्शाएगी, जैसा कि नीचे दिखाया गया है:

SQL सर्वर इंस्टालेशन के लिए dbForge Event Profiler सफलतापूर्वक पूरा होने के बाद, विज़ार्ड आपको सूचित करेगा और आपको इंस्टॉलेशन विज़ार्ड को बंद करने के बाद सीधे टूल को शुरू करने का विकल्प प्रदान करेगा, जैसा कि नीचे दिया गया है:

SQL सर्वर के लिए dbForge Event Profiler का स्वागत पृष्ठ उपयोगकर्ता के अनुकूल है और SSMS से परिचित कोई भी व्यक्ति इसे आसानी से अपना सकता है। नया ट्रेस प्रारंभ करने के लिए, नया . क्लिक करें टूल के दाईं ओर विकल्प, जैसा कि नीचे दिया गया है:

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

कनेक्शन प्रबंधक . में विंडो, नया बटन आपको ज्ञात कनेक्शन विंडो पर ले जाएगा, जहां आपसे SQL सर्वर इंस्टेंस नाम, प्रमाणीकरण मोड और SQL सर्वर से कनेक्ट करने के लिए आवश्यक क्रेडेंशियल प्रदान करने का अनुरोध किया जाएगा। कनेक्शन जानकारी प्रदान करने के बाद, कनेक्शन का परीक्षण करें . क्लिक करें आपके द्वारा दर्ज की गई जानकारी मान्य है या नहीं, यह जाँचने के लिए बटन, जैसा कि नीचे दिखाया गया है:

SQL सर्वर इंस्टेंस कनेक्शन जानकारी प्रदान करने के बाद, चुनें कि क्या मौजूदा टेम्पलेट का उपयोग करना है, उपयोगी टेम्पलेट्स की सूची से, जो अधिकांश ट्रेसिंग कार्यात्मकताओं की सेवा करता है, या अगले चरण में कैप्चर करने के लिए रुचि रखने वाले ईवेंट की सूची निर्दिष्ट करने के लिए इसे अचयनित करें। साथ ही, आप गंतव्य फ़ाइल गुणों को निम्नानुसार निर्दिष्ट कर सकते हैं:

इवेंट कैप्चर करने के लिए . पर पृष्ठ, आपको घटनाओं की एक उपयोगकर्ता के अनुकूल और अच्छी तरह से वर्गीकृत सूची मिलेगी, जो कि सार्थक तरीके से वर्णित हैं, बिना गहराई से गोता लगाने और इसके अर्थों को समझने की कोशिश किए बिना, जैसा कि नीचे दिखाया गया है:

नीचे दी गई छवि सभी उपलब्ध ईवेंट श्रेणियां भी दिखाती है, प्रत्येक श्रेणी में ईवेंट की संख्या के साथ। अब, आप श्रेणी के नाम से सभी उपलब्ध घटनाओं को समझने का आनंद ले सकते हैं, जैसा कि नीचे स्पष्ट रूप से दिखाया गया है:

उन ईवेंट की सूची निर्दिष्ट करने के बाद जिन्हें आप कैप्चर करना चाहते हैं, कार्रवाइयां पृष्ठ आपको उन कार्यों की सूची निर्दिष्ट करने की क्षमता प्रदान करता है जिन्हें आप वर्तमान ईवेंट सत्र में कैप्चर करना चाहते हैं, जैसा कि नीचे दिखाया गया है:

ईवेंट फ़िल्टर . पर पृष्ठ, आप अपनी आवश्यकताओं से मेल खाने के लिए एकत्रित पंक्तियों की संख्या को कम करने के लिए अपने स्वयं के फ़िल्टर भी बना सकते हैं और विश्लेषण करना आसान बना सकते हैं, जैसा कि नीचे दिखाया गया है:

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

अपने ईवेंट सत्र को अनुकूलित करने के बाद, आप निष्पादित करें . क्लिक करके ईवेंट कैप्चर करना प्रारंभ कर सकते हैं पिछली छवि से बटन। इवेंट सेशन शुरू करने के बाद, टूल सीधे इवेंट को कैप्चर करना और दिखाना शुरू कर देगा, जैसा कि नीचे दिखाया गया है:

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

इसके अलावा, SQL सर्वर के लिए dbForge Event Profiler एक नई T-SQL क्वेरी लिखने और इसे कनेक्टेड SQL सर्वर इंस्टेंस पर निष्पादित करने का विकल्प प्रदान करके SSMS के रूप में काम कर सकता है, जैसा कि नीचे दिखाया गया है:

टूल एक उपयोगी ग्रिड में लौटाए गए डेटा को भी प्रदर्शित करता है जो प्रत्येक कॉलम का नाम, डेटा प्रकार और मान निम्नानुसार दिखाता है:

अधिकांश SQL सर्वर डेटाबेस व्यवस्थापकों को एक ऐसी स्थिति का सामना करना पड़ा जब उन्होंने SSMS का उपयोग करके एक बड़ी SQL सर्वर फ़ाइल को निष्पादित करने का प्रयास किया जो OutOfMemory त्रुटि के साथ विफल हो गई। SQL सर्वर के लिए dbForge इवेंट प्रोफाइलर SQL फ़ाइल के भीतर किसी भी बड़ी T-SQL स्क्रिप्ट को निष्पादित करने के लिए एक सुविधा प्रदान करके इस समस्या को दूर करता है। आपको केवल बड़ी स्क्रिप्ट निष्पादित करें . का चयन करने की आवश्यकता है डेटाबेस मेनू से विकल्प, फिर उस स्क्रिप्ट फ़ाइल के लिए स्थान का चयन करें, जिस डेटाबेस पर यह फ़ाइल निष्पादित की जाएगी और उस फ़ाइल में उपयोग की जाने वाली एन्कोडिंग, जैसा कि नीचे स्पष्ट रूप से दिखाया गया है:

निष्कर्ष

पिछले सभी उदाहरणों से, आप देख सकते हैं कि SQL सर्वर मुफ़्त तृतीय पक्ष टूल के लिए dbForge इवेंट प्रोफाइलर का उपयोग विभिन्न प्रकार के SQL सर्वर ईवेंट को कैप्चर करने और उनका विश्लेषण करने के लिए सामान्य ईवेंट कैप्चरिंग टूल की सभी कमियों पर काबू पाने के लिए कैसे किया जा सकता है। यह एक मुफ़्त है उपकरण और यह निश्चित रूप से उपयोग करने लायक है।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक्सएमएल ऑटो के लिए चयन करें और डेटाटाइप लौटाएं

  2. मैं SQL क्वेरी का उपयोग करके अल्पविराम से अलग की गई सूची कैसे बनाऊं?

  3. मैं प्राथमिक कुंजी को AUTOINCREMENT के रूप में कैसे बना सकता हूँ?

  4. इन 3 युक्तियों के साथ SQL सर्वर प्रदर्शन ट्यूनिंग में सुधार करें

  5. जब डिस्टिंक्ट और ग्रुप बाय का प्रदर्शन अलग होता है?