डेटाबेस संगतता स्तर, डेटाबेस स्तर सेटिंग्स में से एक, डेटाबेस के कार्य करने के तरीके को प्रभावित करता है। 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>;
यदि आप चाहें, तो आप संगतता स्तर को बदलने के लिए विज़ार्ड का उपयोग कर सकते हैं। हालाँकि, यदि डेटाबेस को उपयोगकर्ताओं द्वारा ऑनलाइन एक्सेस किया जाता है, तो आपको पहले डेटाबेस को सिंगल-यूज़र मोड में बदलना चाहिए। फिर, स्तर बदलने के लिए विज़ार्ड का उपयोग करने के बाद, आपको डेटाबेस को बहु-उपयोगकर्ता मोड में रखना चाहिए।
विज़ार्ड के साथ संगतता स्तर बदलने के लिए, डेटाबेस –> प्रॉपर्टी–> विकल्प -> डेटाबेस संगतता स्तर पर राइट-क्लिक करें जैसा कि निम्न चित्र में दिखाया गया है:
(/article/uploadfiles/202207/2022070812110977.png)पी>
डिफ़ॉल्ट और समर्थित संगतता स्तर
निम्न तालिका 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) विशेषज्ञ अनुप्रयोगों के व्यापक पोर्टफोलियो में निम्नलिखित पेशेवर और प्रबंधित सेवाएं प्रदान करते हैं:
- ईकामर्स और डिजिटल अनुभव प्लेटफॉर्म
- एंटरप्राइज रिसोर्स प्लानिंग (ईआरपी)
- बिजनेस इंटेलिजेंस
- बिक्री बल ग्राहक संबंध प्रबंधन (सीआरएम)
- डेटाबेस
- ईमेल होस्टिंग और उत्पादकता
हम वितरित करते हैं:
- निष्पक्ष विशेषज्ञता :हम तत्काल मूल्य प्रदान करने वाली क्षमताओं पर ध्यान केंद्रित करते हुए आपकी आधुनिकीकरण यात्रा को सरल और मार्गदर्शन करते हैं।
- कट्टर अनुभव ™:हम पहले एक प्रक्रिया को जोड़ते हैं। प्रौद्योगिकी दूसरा। व्यापक समाधान प्रदान करने के लिए समर्पित तकनीकी सहायता के साथ दृष्टिकोण।
- बेजोड़ पोर्टफोलियो :हम व्यापक क्लाउड अनुभव लागू करते हैं ताकि आपको सही क्लाउड पर सही तकनीक को चुनने और परिनियोजित करने में मदद मिल सके।
- फुर्तीली डिलीवरी :हम आपसे मिलते हैं जहां आप अपनी यात्रा में हैं और सफलता को अपने साथ संरेखित करते हैं।
आरंभ करने के लिए अभी चैट करें।