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

Microsoft SQL सर्वर डेटाबेस संगतता स्तर

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

डेटाबेस संगतता स्तर डिफ़ॉल्ट

डिफ़ॉल्ट रूप से, प्रत्येक डेटाबेस को मॉडलडेटाबेस संस्करण का संगतता स्तर प्राप्त होता है जिससे इसे बनाया गया था। उदाहरण के लिए, SQL Server 2012 डेटाबेस का संगतता स्तर डिफ़ॉल्ट रूप से 110 हो जाता है जब तक कि आप इसे नहीं बदलते।

एक पुनर्स्थापना के बाद संगतता स्तर

जब आप SQL के पुराने संस्करण पर लिए गए डेटाबेस बैकअप को पुनर्स्थापित करते हैं, तो डेटाबेस संगतता स्तर वही रहता है, जिस उदाहरण से आपने बैकअप लिया था, जब तक कि स्रोत संगतता स्तर न्यूनतम समर्थित स्तर से कम न हो। उस स्थिति में, डेटाबेस संगतता स्तर निम्नतम समर्थित संस्करण में बदल जाता है। उदाहरण के लिए, यदि हम SQL Server2005 डेटाबेस बैकअप को SQL Server 2017 में पुनर्स्थापित करते हैं, तो पुनर्स्थापित डेटाबेस का संगतता स्तर 100 पर सेट किया जाएगा क्योंकि यह न्यूनतम SQL 2017 स्तर समर्थित है।

उन्नयन के बाद संगतता स्तर

tempdb, मॉडल, msdb और संसाधन डेटाबेस का संगतता स्तर नवीनीकरण के बाद वर्तमान संगतता स्तर पर सेट किया गया है। मास्टर सिस्टमडेटाबेस उस संगतता स्तर को बरकरार रखता है जो उसके पास अपग्रेड से पहले था।

संगतता स्तर निर्धारित करें

वर्तमान संगतता स्तर निर्धारित करने के लिए, संगतता_स्तर . को क्वेरी करें sys.databases . का स्तंभ ।

एक अलग संगतता स्तर में बदलने के लिए, ALTER DATABASE का उपयोग करें निम्न उदाहरण में दिखाया गया आदेश:

Use Master
Go
ALTER DATABASE <database name>SET COMPATIBILITY_LEVEL = <compatibility-level>;

यदि आप चाहें, तो आप संगतता स्तर को बदलने के लिए विज़ार्ड का उपयोग कर सकते हैं। हालाँकि, यदि डेटाबेस को उपयोगकर्ताओं द्वारा ऑनलाइन एक्सेस किया जाता है, तो आपको पहले डेटाबेस को सिंगल-यूज़र मोड में बदलना चाहिए। फिर, स्तर बदलने के लिए विज़ार्ड का उपयोग करने के बाद, आपको डेटाबेस को बहु-उपयोगकर्ता मोड में रखना चाहिए।

विज़ार्ड के साथ संगतता स्तर बदलने के लिए, डेटाबेस –> प्रॉपर्टी–> विकल्प -> डेटाबेस संगतता स्तर पर राइट-क्लिक करें जैसा कि निम्न चित्र में दिखाया गया है:

Microsoft SQL सर्वर डेटाबेस संगतता स्तर (/article/uploadfiles/202207/2022070812110977.png)

डिफ़ॉल्ट और समर्थित संगतता स्तर

निम्न तालिका SQL सर्वर संस्करणों को उनकी डिफ़ॉल्ट संगतता और समर्थित संगतता स्तरों की सूची के साथ दिखाती है:

Microsoft SQL सर्वर डेटाबेस संगतता स्तर (/article/uploadfiles/202207/2022070812110959.png)

स्रोत :https://www.sqlskills.com/blogs/glenn/database-compatibility-level-in-sql-server/

डेटाबेस संगतता स्तर और प्रदर्शन

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

अब, जब आप एक संस्करण से दूसरे संस्करण में माइग्रेट करते हैं, तो आपको प्रदर्शन में बदलाव को समझने के लिए एक पूर्ण प्रतिगमन परीक्षण करना चाहिए। कभी-कभी, माइग्रेशन के बाद भी पुराने संगतता स्तर के साथ क्वेरी बेहतर प्रदर्शन करती है। हालांकि, अन्य मामलों में, यह विपरीत हो सकता है, इसलिए पूर्ण प्रतिगमन परीक्षण करना सुनिश्चित करें।

SQL सर्वर 2014 के बाद से, संगतता स्तर 120 या उससे अधिक पर चलने वाला कोई भी डेटाबेस नए कार्डिनैलिटी अनुमान का उपयोग कर सकता है समारोह। कार्डिनैलिटी अनुमान वह तर्क है जो यह निर्धारित करने के लिए होता है कि SQL सर्वर अपनी अनुमानित लागत के आधार पर किसी क्वेरी को कैसे निष्पादित करता है। अनुमान की गणना उस क्वेरी में शामिल वस्तुओं से जुड़े आंकड़ों से इनपुट का उपयोग करके की जाती है। व्यावहारिक रूप से, उच्च-स्तर पर, कार्डिनैलिटी अनुमान पंक्ति-गणना अनुमान होते हैं जो मूल्यों के वितरण, विशिष्ट मूल्य गणना, और क्वेरी में संदर्भित तालिकाओं और वस्तुओं में निहित डुप्लिकेट गणनाओं के बारे में संयुक्त होते हैं। इन अनुमानों को गलत करने से अनावश्यक डिस्क I हो सकती है। /O अपर्याप्त मेमोरी ग्रांट (जैसे TempDB स्पिल) या समानांतर योजना निष्पादन पर एरियल प्लान निष्पादन के चयन के कारण, कुछ संभावनाओं को नाम देने के लिए। मैं अपने अगले ब्लॉग पोस्ट में कार्डिनैलिटी अनुमान के बारे में अधिक चर्चा करने की योजना बना रहा हूं।

संगतता स्तर बदलने का प्रभाव

संगतता स्तर बदलना डेटाबेस को अपना फीचर सेट बदलने के लिए कहता है। यानी, कुछ सुविधाएँ जोड़ी जाती हैं, और साथ ही, कुछ पुरानी सुविधाएँ हटा दी जाती हैं। उदाहरण के लिए, FOR BROWSE INSERT में क्लॉज की अनुमति नहीं है और SELECT INTO संगतता स्तर 100 पर बयान, और इसकी अनुमति है लेकिन संगतता स्तर 90 पर अनदेखा किया गया है। यदि आपका एप्लिकेशन इस सुविधा का उपयोग करता है, तो यह परिवर्तन अप्रत्याशित परिणाम पेश कर सकता है।

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

निष्कर्ष

डेटाबेस संगतता स्तर परिभाषित करता है कि SQL सर्वर कुछ विशेषताओं का उपयोग कैसे करता है। विशेष रूप से, यह उन्हें SQL सर्वर के दिए गए संस्करण की तरह कार्य करने का कारण बनता है, जो आमतौर पर कुछ स्तर की पिछड़ी संगतता प्रदान करने के लिए किया जाता है। क्योंकि यह एक डेटाबेस गुण है, संगतता उस विशिष्ट डेटाबेस के लिए केवल डेटाबेस स्तर सुविधाओं को प्रभावित करती है।

यदि आप किसी डेटाबेस को या तो उच्च संस्करण वाले सर्वर पर ले जाकर अपग्रेड करते हैं या इंस्टेंस अपग्रेड करके अपग्रेड करते हैं, तो संगतता स्तर तब तक बना रहता है जब तक वह स्तर समर्थित रहता है।

यदि संगतता स्तर SQL 2014 या उच्चतर पर सेट है, तो SQL सर्वर newcardinality अनुमान सुविधा का उपयोग करता है। यदि संगतता स्तर 2012 या उससे कम पर सेट है, तो पुराने अनुकूलक का उपयोग किया जाता है।

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

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

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

  • ईकामर्स और डिजिटल अनुभव प्लेटफॉर्म
  • एंटरप्राइज रिसोर्स प्लानिंग (ईआरपी)
  • बिजनेस इंटेलिजेंस
  • बिक्री बल ग्राहक संबंध प्रबंधन (सीआरएम)
  • डेटाबेस
  • ईमेल होस्टिंग और उत्पादकता

हम वितरित करते हैं:

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

आरंभ करने के लिए अभी चैट करें।


  1. माइक्रोसॉफ्ट एसक्यूएल सर्वर क्वेरी स्टोर

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

  1. Microsoft SQL सर्वर उन्नत भ्रष्टाचार और पुनर्प्राप्ति

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

  1. MS Access से डेटा को SQL सर्वर डेटाबेस में माइग्रेट करें

    हाल ही में, मुझे एक्सेस डेटाबेस से SQL सर्वर 2014 में डेटा माइग्रेट करना पड़ा क्योंकि मेरा डेटाबेस एक्सेस के लिए बहुत बड़ा हो रहा था। हालांकि प्रक्रिया काफी सरल है, मुझे लगा कि मैं चरण-दर-चरण निर्देशों के साथ एक लेख लिखूंगा। सबसे पहले, आपको यह सुनिश्चित करने की आवश्यकता है कि आपके कंप्यूटर पर SQL स