Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> डेटाबेस

SQL Server Query Store मास्टर करें: क्वेरी प्रदर्शन को कैप्चर, विश्लेषण और हल करें

माइक्रोसॉफ्ट® SQL Server® Query Store, जैसा कि नाम से पता चलता है, एक स्टोर की तरह है जो निष्पादित क्वेरी, क्वेरी रनटाइम निष्पादन आंकड़े, और निष्पादन योजनाओं के डेटाबेस इतिहास को कैप्चर करता है। चूंकि डेटा डिस्क पर संग्रहीत होता है, आप किसी भी समय समस्या निवारण उद्देश्यों के लिए क्वेरी स्टोर डेटा पुनः प्राप्त कर सकते हैं, और SQL Server रीस्टार्ट डेटा को प्रभावित नहीं करते। SQL Server 2016 में पेश किया गया और सभी बाद के संस्करणों में उपलब्ध, Query Store का उपयोग क्वेरी प्लान परिवर्तनों के कारण होने वाले प्रदर्शन मुद्दों के निवारण के लिए करें।

परिचय

आपको बेसलाइन डेटा विश्लेषण प्रदर्शन समस्या निवारण के लिए उपयोगी लग सकता है, लेकिन जब तक Query Store पेश नहीं किया गया था, वह जानकारी SQL Server में मूल रूप से उपलब्ध नहीं थी। यदि किसी डेटाबेस के लिए Query Store सक्षम है, तो यह निष्पादित क्वेरी के साथ-साथ निष्पादन योजनाओं और रनटाइम आंकड़ों के बारे में जानकारी रखता है। यह डेटाबेस स्तर पर सक्षम है और सभी उपयोगकर्ताओं के डेटाबेस और MSDB सिस्टम डेटाबेस के लिए सक्षम किया जा सकता है। Query Store से संबंधित जानकारी और मेटाडेटा डेटाबेस के भीतर आंतरिक तालिकाओं में संग्रहीत होते हैं। Query Store के अलग बैकअप को प्रबंधित करने की कोई आवश्यकता नहीं है क्योंकि एक मानक डेटाबेस बैकअप में सभी आवश्यक जानकारी होती है। Query Store डेटा देखने के लिए, आपके पास View Database State अनुमति होनी चाहिए, और प्लान को फोर्स और अनफोर्स करने के लिए DB_Owner अधिकार होने चाहिए। आप इस डेटा को मैनेजमेंट स्टूडियो और T-SQL के माध्यम से देख सकते हैं।

Query Store सेट अप करना

किसी डेटाबेस के लिए Query Store सक्षम करने के लिए निम्नलिखित चरण करें:

  1. Database > Properties पर राइट-क्लिक करें।
  2. Select a Page के अंतर्गत, Select Query Store चुनें।
  3. General सेक्शन में, Operation Mode (Requested) को Off से Read-Write में बदलें।
  4. Operation Mode (Requested) ड्रॉप-डाउन बॉक्स में अन्य फ़ील्ड को पूर्व-आबादी वाले डिफ़ॉल्ट मानों पर सेट छोड़ दें।
  5. चयनित डेटाबेस के लिए Query Store सक्षम करने के लिए डेटाबेस प्रॉपर्टीज बॉक्स में Ok पर क्लिक करें।

आप निम्न कोड का उपयोग करके T-SQL के साथ Query Store सक्षम कर सकते हैं:

ALTER DATABASE [DB_Name] SET QUERY_STORE = ON; 

Query Store के विभिन्न कॉन्फ़िगरेशन विकल्प

निम्न सूची में कुछ Query Store विकल्पों के विवरण हैं:

  • Operation Mode (Requested) के तीन मान हैं: Off, Read Only, और Read Write। जब Query Store का मोड Read पर सेट होता है, तो कोई नई निष्पादन योजना या क्वेरी रनटाइम आंकड़े एकत्र नहीं किए जाते। यह मोड Query Store से संबंधित केवल-पढ़ने के ऑपरेशन के लिए है। मोड को Read Write में बदलने से Query Store चयनित डेटाबेस में चलने वाली क्वेरी, उन क्वेरी के लिए उपयोग की जाने वाली निष्पादन योजनाओं, और उन क्वेरी के लिए रनटाइम आंकड़ों को इकट्ठा करने में सक्षम होता है।

  • Data Flush Interval (Minutes) आपको यह सेट करने की अनुमति देता है कि एकत्र की गई निष्पादन योजनाओं और क्वेरी रनटाइम आंकड़ों को मेमोरी से डिस्क पर कितनी बार फ्लश किया जाता है। डिफ़ॉल्ट रूप से, यह 15 मिनट पर सेट है।

  • Statistics Collection Interval Query Store के अंदर उपयोग किए जाने वाले क्वेरी रनटाइम आंकड़ों के एकत्रीकरण अंतराल को परिभाषित करता है। डिफ़ॉल्ट रूप से, यह 60 मिनट पर सेट है।

  • Max Size (MB) Query Store के अधिकतम आकार को कॉन्फ़िगर करने के लिए उपयोग किया जाता है। डिफ़ॉल्ट रूप से, यह 100 MB पर सेट है। Query Store में डेटा उस डेटाबेस में संग्रहीत होता है जहां SQL Server Query Store सक्षम है। यहां कॉन्फ़िगर किए गए आकार के आधार पर, Query Store अधिकतम आकार तक पहुंचने के बाद, ऑपरेशन मोड स्वचालित रूप से Read Only मोड पर स्विच हो जाता है।

  • Capture Mode आपको यह चुनने में मदद करता है कि Query Store में किस प्रकार की क्वेरी कैप्चर करनी है। डिफ़ॉल्ट विकल्प All है, जो हर निष्पादित क्वेरी को संग्रहीत करता है। जब यह विकल्प auto पर सेट होता है, तो Query Store प्राथमिकता के आधार पर कौन सी क्वेरी कैप्चर करनी है, यह तय करने का प्रयास करता है, और कभी-कभी निष्पादित होने वाली साथ ही अन्य एड-हॉक क्वेरी को अनदेखा करने का प्रयास करता है।

  • Stale Query Threshold (Days) का उपयोग यह परिभाषित करने के लिए किया जाता है कि डेटा Query Store में कितने समय तक रहता है। इस मोड के लिए डिफ़ॉल्ट मान 30 दिन है।

Query Store रिपोर्ट्स

Query Store में निम्नलिखित रिपोर्ट्स शामिल हैं:

  • Regressed Queries: उन क्वेरी को इंगित करें जिनके निष्पादन मेट्रिक्स हाल ही में खराब हुए हैं या बदतर में बदल गए हैं।
  • Overall Resource Consumptions: डेटाबेस के लिए किसी भी निष्पादन मेट्रिक्स के लिए कुल संसाधन खपत का विश्लेषण करें।
  • Top Resource Consuming Queries: वे क्वेरी जिनका डेटाबेस संसाधन खपत पर सबसे बड़ा प्रभाव पड़ता है।
  • Queries with Forced Plans: बिल्ट-इन रिपोर्ट, जो फोर्स्ड निष्पादन योजनाओं वाली सभी क्वेरी दिखाती है।
  • Queries with High Variation: यह रिपोर्ट सबसे अधिक पैरामीटराइज़ेशन समस्याओं वाली क्वेरी दिखाती है।
  • Tracked Queries: वास्तविक समय में सबसे महत्वपूर्ण क्वेरी के निष्पादन को ट्रैक करें।

Query Store के साथ प्लान फोर्स करना

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

Query Store प्रत्येक मॉनिटर किए गए डेटाबेस के भीतर समय के साथ एकत्रित क्वेरी प्लान और सांख्यिकीय जानकारी संग्रहीत करता है। प्लान कैश के विपरीत, Query Store प्रति क्वेरी कई प्लान बनाए रख सकता है और संबंधित आँकड़ों के साथ क्वेरी प्लान परिवर्तनों का इतिहास बनाए रख सकता है। विभिन्न निष्पादन योजनाओं में से चयन करके, आप आगे बढ़कर किसी भी निष्पादन योजना को फोर्स कर सकते हैं। क्वेरी ऑप्टिमाइज़र तब आने वाले क्वेरी निष्पादन के लिए केवल इस फोर्स्ड निष्पादन योजना का उपयोग करता है।

Query Store > Open Top Resource Consuming Queries रिपोर्ट संसाधन-गहन क्वेरी को सूचीबद्ध करती है। जांच के लिए एक क्वेरी चुनें:

अपने माउस को Plan पर होवर करके संबंधित आंकड़े देखें।

आइए अलग-अलग प्लान की तुलना करें।

Plan 216 विवरण:

Plan 195 विवरण:

Plan 216 के लिए औसत अवधि कम है, इसलिए इसे आगे के निष्पादन में इस प्लान को फोर्स करने के लिए उपयोग किया जा सकता है। Force Plan पर क्लिक करके पुष्टिकरण स्क्रीन देखें जिसमें संदेश हो "Do you want to force plan 216 for query 42?"

Yes पर क्लिक करें। प्लान फोर्स होने के बाद, यह चेकमार्क के साथ हाइलाइट होता है जैसा कि निम्न स्क्रीनशॉट में दिखाया गया है। भविष्य में, इस प्लान का उपयोग क्वेरी ऑप्टिमाइज़र द्वारा निष्पादन के लिए किया जाएगा।

Query Store के साथ सर्वोत्तम अभ्यास

  • नवीनतम सुविधाओं और संवर्द्धन को देखने के लिए नवीनतम SQL Server Management Studio का उपयोग करें।

  • Query Store डेटा संग्रह को सत्यापित और मॉनिटर करें।

  • Optimal Query कैप्चर मोड सेट करें और आवश्यकतानुसार समायोजन करने के लिए Query Store कॉन्फ़िगरेशन विकल्प को फिर से देखें।

  • नॉन-पैरामीटराइज़्ड क्वेरी का उपयोग करने से बचें।

  • फोर्स्ड प्लान की स्थिति को नियमित रूप से जांचें।

निष्कर्ष

Query Store SQL Server 2016 में पेश की गई एक उपयोगी सुविधा है। चूंकि प्रदर्शन सुधार को ट्यून करना हर डेटाबेस एडमिनिस्ट्रेटर (DBA) के लिए आवश्यक प्रमुख कौशल में से एक है, आपको Query Store को कॉन्फ़िगर और उपयोग करना सीखना चाहिए। आप Query Store का उपयोग प्रदर्शन परिवर्तनों को ट्रैक करने और निष्पादन योजनाओं की तुलना करके क्वेरी प्रदर्शन में किसी भी गिरावट का निवारण करने के लिए भी कर सकते हैं। आप किसी भी क्वेरी के लिए क्वेरी प्लान को फोर्स कर सकते हैं। यह प्लान कैश में सहेजे गए को ओवरराइड करता है, और इस प्रकार प्रदर्शन लाभ प्रदान करता है। Query Store का SQL Server प्रदर्शन पर कोई बड़ा प्रभाव नहीं पड़ता क्योंकि इसका उपयोग बाद में देखने के लिए क्वेरी निष्पादन आंकड़ों और योजनाओं को कैप्चर और सहेजने के लिए किया जाता है।

कोई भी टिप्पणी करने या प्रश्न पूछने के लिए Feedback टैब का उपयोग करें।

विशेषज्ञ प्रशासन, प्रबंधन और कॉन्फ़िगरेशन के साथ अपने वातावरण को अनुकूलित करें

Rackspace के एप्लिकेशन सर्विसेज (RAS) विशेषज्ञ अनुप्रयोगों के एक व्यापक पोर्टफोलियो में निम्नलिखित पेशेवर और प्रबंधित सेवाएं प्रदान करते हैं:

  • ईकॉमर्स और डिजिटल एक्सपीरियंस प्लेटफॉर्म
  • एंटरप्राइज रिसोर्स प्लानिंग (ERP)
  • बिजनेस इंटेलिजेंस
  • सेल्सफोर्स कस्टमर रिलेशनशिप मैनेजमेंट (CRM)
  • डेटाबेस
  • ईमेल होस्टिंग और उत्पादकता

हम प्रदान करते हैं:

  • निष्पक्ष विशेषज्ञता: हम आपकी आधुनिकीकरण यात्रा को सरल बनाते हैं और मार्गदर्शन करते हैं, उन क्षमताओं पर ध्यान केंद्रित करते हैं जो तत्काल मूल्य प्रदान करती हैं।
  • Fanatical Experience™: हम समर्पित तकनीकी सहायता के साथ Process first. Technology second.® दृष्टिकोण को जोड़कर व्यापक समाधान प्रदान करते हैं।
  • अद्वितीय पोर्टफोलियो: हम आपको सही क्लाउड पर सही तकनीक चुनने और तैनात करने में मदद करने के लिए व्यापक क्लाउड अनुभव लागू करते हैं।
  • चुस्त डिलीवरी: हम आपकी यात्रा में जहां आप हैं वहां आपसे मिलते हैं और अपनी सफलता को आपके साथ संरेखित करते हैं।

अब शुरू करने के लिए चैट करें।

  1. SQL Server डेटाबेस कम्पैटिबिलिटी लेवल को समझना: प्रदर्शन और सुविधाओं पर प्रभाव SQL Server डेटाबेस कम्पैटिबिलिटी लेवल को समझना: प्रदर्शन और सुविधाओं पर प्रभाव

    डेटाबेस कम्पैटिबिलिटी लेवल, डेटाबेस लेवल सेटिंग्स में से एक है, जो प्रभावित करता है कि डेटाबेस कैसे कार्य करता है। Microsoft® SQL Server® का प्रत्येक नया संस्करण कई नई सुविधाएं पेश करता है, जिनमें से अधिकांश को नए कीवर्ड की आवश्यकता होती है और जो पहले के संस्करणों में मौजूद कुछ व्यवहारों को बदल देती

  1. मौजूदा SQL Server AlwaysOn डेटाबेस के लिए लॉग शिपिंग: एक व्यावहारिक DR गाइड मौजूदा SQL Server AlwaysOn डेटाबेस के लिए लॉग शिपिंग: एक व्यावहारिक DR गाइड

    यह पोस्ट चर्चा करती है कि मौजूदा Microsoft® SQL Server® AlwaysOn-कॉन्फ़िगर डेटाबेस के साथ लॉग शिपिंग कैसे सेट अप करें, जो एक डिजास्टर रिकवरी (DR) समाधान है। परिचय AlwaysOn उपलब्धता समूह (AG) सुविधा एक उच्च-उपलब्धता और डिजास्टर रिकवरी समाधान है जो डेटाबेस मिररिंग का एक एंटरप्राइज-लेवल विकल्प प्रदान

  1. Microsoft SQL Server में उन्नत भ्रष्टाचार पहचान और पुनर्प्राप्ति Microsoft SQL Server में उन्नत भ्रष्टाचार पहचान और पुनर्प्राप्ति

    यह ब्लॉग Microsoft® SQL Server® में डेटाबेस स्तर पर होने वाली भ्रष्टाचार का वर्णन करता है, उनका पता कैसे लगाया जाए, और उन्नत पुनर्स्थापना और मरम्मत तकनीकों का उपयोग करके उन्हें कैसे ठीक किया जाए। परिचय वर्तमान में, SQL Server अपनी उन्नत आंतरिक संरचना और उच्च विश्वसनीयता के कारण सबसे लोकप्रिय और व्या