2008 R2 से अधिक SQL Server 2012 को प्राथमिकता देने के लिए उद्देश्यपूर्ण व्यावसायिक कारण क्या हैं?


50

मेरी कंपनी इस निर्णय का सामना कर रही है कि नए डेटाबेस सर्वर के लिए SQL Server 2012 Denali या SQL Server 2008 R2 खरीदना है या नहीं। मैं एक के बाद एक को चुनने के लिए वस्तुनिष्ठ कारणों की तलाश कर रहा हूं।

हमारी आवश्यकताओं:

  • मानक संस्करण (वित्तीय कारणों और उद्यम सुविधाओं की आवश्यकता की कमी के लिए)
  • OLTP कार्यभार (इसका मतलब है कि हमें नए विंडोिंग फ़ंक्शन और कॉलम स्टोर इंडेक्स की आवश्यकता नहीं है)
  • 10-100 जीबी का डेटाबेस आकार
  • कोई व्यावसायिक खुफिया सुविधाओं की जरूरत नहीं है। केवल रिलेशनल इंजन की आवश्यकता है
  • तुल्यकालिक डेटाबेस मिररिंग

वर्तमान में, निम्नलिखित कारण मुझे ज्ञात हैं:

SQL सर्वर 2012 Denali

  • नवीनतम संस्करण उपलब्ध है

SQL सर्वर 2008 R2

  • सिद्ध प्रौद्योगिकी

मैं एक से दूसरे को पसंद करने के लिए बहुत सारे तकनीकी कारण नहीं खोज सकता। मूल रूप से, यह सिद्ध प्रौद्योगिकी को चुनने के लिए नीचे आता है जो सफलतापूर्वक बनाम नवीनतम और सबसे बड़ा संस्करण उपलब्ध है।

निर्णय लेने के लिए वस्तुनिष्ठ कारण क्या हैं?


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

3
पिछले तीन रिलीज के साथ अपने अनुभव के आधार पर, मैं कम से कम एक सर्विस पैक का इंतजार करूंगा। 2008 के साथ मैंने R2 तक इंतजार किया, और अभी भी इसमें दोष हैं। बस मेरे ऊपर के हिस्से से: 2008 R2 में मैं एक विश्वसनीय FK बाधा को दरकिनार कर सकता हूं और अनाथ पंक्तियों को सम्मिलित कर सकता हूं, मैं SSMS में एक स्क्रिप्ट चला सकता हूं और इसका कुछ हिस्सा गलत डेटाबेस के खिलाफ निष्पादित करता है।
एके

3
@AaronBertrand मुझे लगता है कि आपकी उपमा झूठी है। यदि आपने एक और एक ही व्यक्ति को एक से अधिक बार टेक्स्टिंग और ड्राइविंग करते देखा है, तो उस व्यक्ति को एक भयानक ड्राइवर में यह निष्कर्ष निकालना उचित है। इस तरह से ओपी सामान्यीकरण कर रहा है, न कि जैसा आपने सुझाव दिया है।
एके

3
एलेक्स, मुझे पता है जब कोई बग बिना किसी जटिल RDBMS प्लेटफॉर्म जहाजों। IIRC आपका FK रेप्रो सुंदर था और एक सामान्य परिदृश्य नहीं था। मुझे यह भी बताएं कि क्या आपको लगता है कि सॉफ़्टवेयर कंपनियां संभवतः समय के साथ बेहतर नहीं हो सकती हैं, या यदि आप SQL 2012 में एक स्लैमर-प्रकार की भेद्यता की उम्मीद करते हैं, तो उसके बाद के संस्करण में, और उसके बाद के संस्करण ... कुछ बिंदु पर यह बताने के लिए इन पुराने पत्नियों की कहानियों के जाने के लिए और अपने आप ही एक मंच लेने के लिए और ... पिछले संस्करण में कुछ बग द्वारा यह निर्णय नहीं है
हारून बर्ट्रेंड

7
"सर्विस पैक की प्रतीक्षा करें" एक पुराना मिथक है और FUD
gbn

जवाबों:


63

ऑलवेज़ऑन और कॉलमनिस्टोर के बारे में हर कोई उत्साहित है, लेकिन SQL सर्वर 2012 के कई लाभ उच्च अंत संस्करणों के लिए अनन्य नहीं हैं। मैं एक प्रवक्ता की तरह आवाज़ नहीं करना चाहता, लेकिन मैंने एसक्यूएल सर्वर 2012 पर बहुत सारी प्रस्तुतियाँ दी हैं और मुझे लगता है कि आपके पास जो भी संस्करण सूट करता है, उसमें बहुत कुछ है।

  • आंशिक रूप से नियंत्रित डेटाबेस जो आपको सर्वर या वातावरण के बीच डेटाबेस को कुछ कम झोंपड़ियों (अर्थात् सर्वर-स्तर लॉगिन और सर्वर कोलाज निर्भरता के साथ ले जाने की अनुमति देते हैं - भविष्य के संस्करण लिंक किए गए सर्वर और एजेंट नौकरियों जैसे कांटेदार आइटम को संभालेंगे)।

  • विजुअल स्टूडियो के साथ संरेखित प्रबंधन स्टूडियो अब एक बेहतर उपकरण है। IntelliSense बेहतर है और अन्य विशेषताओं का एक पूरा गुच्छा संपादन को आसान बनाता है। अब निश्चित रूप से आपके सर्वर पर 2008 R2 हो सकता है और SSMS के 2012 संस्करण का उपयोग कर सकता है, लेकिन मुझे यकीन नहीं है कि यह कैसे लाइसेंस-वार काम करता है, और कुछ दुकानें मिश्रित संस्करण नहीं चाहते हैं (मैं सबसे हाल के टूल रखना पसंद करता हूं मेरे कार्य केंद्र भी downlevel सर्वर का प्रबंधन करने के लिए)। मैंने उन परिवर्तनों के बारे में ब्लॉग किया है, जब अभी भी कीड़े थे, इसलिए कृपया नकारात्मक को अनदेखा करें क्योंकि अधिकांश या सभी आरटीएम के रूप में तय किए गए हैं। जब मैं SSMS के पुराने संस्करण का उपयोग करना है, तो मैं अब कंपकंपी करता हूं।

  • मेटाडेटा एन्हांसमेंट आपको ऑब्जेक्ट्स और तदर्थ प्रश्नों के परिणाम का निरीक्षण करने की अनुमति देता है, और आपको प्रश्नों के आउटपुट को बेहतर आकार देने की भी अनुमति देता है।

  • कस्टम सर्वर रोल्स आपको उपयोगकर्ताओं को एक के बाद एक रोल लेवल देने / उलटने, या केवल जटिलता में देने और उन्हें sysadmin देने के बजाय भूमिका स्तर पर अनुमतियों के बहुत अधिक दानेदार सेट को परिभाषित करने की अनुमति देता है।

  • फ़ाइलटेबल आपको दस्तावेज़ों की एक तालिका की तरह एक फ़ोल्डर का प्रबंधन करने देता है, लेकिन फिर भी सामग्री पर बाहरी नियंत्रण होता है (इसलिए टी-एसक्यूएल के साथ ऐसा करने में सक्षम होने की कल्पना करें, और कल्पना करें कि यह कितना कठिन सेमी या पॉवरशेल में करना होगा:) UPDATE C:\Docs\*.* SET ReadOnly = 1 WHERE Author = 'Bob' AND Created < '20100101';।। । लगता है कि FileStream WinFS से मिलता है और बूट करने के लिए कुछ प्रयोज्य प्राप्त करता है।

  • टी-एसक्यूएल एन्हांसमेंट आपको कई काम करने की अनुमति देता है जो पिछले संस्करणों में दर्द थे:

    • THROW (इसे फिर से बढ़ाने के रूप में सोचें)
    • OFFSET/FETCH (सरल, ANSI- मानक पेजिंग)
    • SEQUENCE (केंद्रीकृत पहचान तंत्र, जैसे ओरेकल में)
    • वाइंडिंग / फ्रेमिंग एन्हांसमेंट्स (विभिन्न चीजें, जैसे कि भयानक रनिंग योग प्रदर्शन)
    • IIF()/ CHOOSE()/ CONCAT()/EOMONTH()
    • वीबी में तारीख / समय कंस्ट्रक्टर (जैसे DATETIMEFROMPARTS)DateSerial
    • PARSE()/ FORMAT()- उनके .NET समकक्षों की तरह
    • TRY_CONVERT()/ TRY_PARSE()- वापसी NULLअगर CONVERT/ PARSEविफल
  • विस्तारित ईवेंट में कॉन्फ़िगरेशन / देखने के लिए एक बढ़ा हुआ यूआई है, और अंत में पूरी तरह से ट्रेस / ऑडिट कार्यक्षमता (बेहतर कार्यशीलता ट्रैकिंग सहित) को कवर करता है।

  • निदान और प्रदर्शन समस्या निवारण के लिए नए DMV , सिस्टम प्रक्रिया और ShowPlan संवर्द्धन के बहुत सारे । इसके अलावा सीएसएस " ब्लैक बॉक्स रिकॉर्डर " को क्या कहते हैं, इस पर एक नज़र डालें।

  • सर्वर कोर आपको सभी UI घटकों के बिना एक नंगे-न्यूनतम सर्वर पर चलने की अनुमति देता है (छोटे सतह क्षेत्र का अर्थ है कि यह अधिक सुरक्षित है, और ओएस के कम हिस्से विंडोज अपडेट के अधीन हैं क्योंकि कम रखरखाव)।

  • पूर्ण-पाठ खोज में कुछ महत्वपूर्ण अंतर्निहित प्रदर्शन संवर्द्धन के साथ-साथ अर्थ-संबंधी खोज (कीवर्ड्स लगता है) और अनुकूलन योग्य निकटता / NEAR हो जाता है।

  • AWE अब समर्थित नहीं है , जिसका अर्थ है कि 32 जीबी रैम के साथ x86 पर आपका SQL सर्वर उदाहरण केवल 4GB का उपयोग करने में सक्षम होने जा रहा है - इसलिए आपको अंततः अपने पुराने 32-बिट हार्डवेयर को बंद करने की प्रेरणा मिलेगी।


पुन: शक्तियां टिप्पणी, यह अभी भी बहुत आसान है: gci c:\users | where-object {$_.Author = 'Bob' -and $_.creationdate -lt '1/1/2010'} | %{$_.Readonly = 1}या कुछ इसी तरह - लेकिन 2012 विकल्प के रूप में सरल और पठनीय नहीं है!
JNK

3
पीएस के बारे में महान बात यह है कि आप एक पंक्ति में कुछ भी (लगभग) कर सकते हैं। बुरी बात यह है कि उस लाइन को पढ़ना मुश्किल है :)
JNK

1
SSMS 2012 है कि ज्यादा बेहतर ??
थॉमस स्ट्रिंगर

5
हाँ, मुझे बहुत पसंद है। मुझे इसके बारे में एक और ब्लॉग पोस्ट करना चाहिए। कुछ पर प्रकाश डाला: के टुकड़े कमाल के हैं, IntelliSense तरह से बेहतर है, क्षेत्र संपादन बहुत शक्तिशाली है, टैब स्ट्रिप बहु की निगरानी के लिए अच्छा है है, और में बनाया जूम है।
हारून बर्ट्रेंड

3
मैं भी बस उस गोली को संक्षेप में प्रस्तुत कर सकता था: "x86 इससे भी अधिक पहले से ही चूसने वाला है।"
हारून बर्ट्रेंड

14

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

आप MSDN वेबसाइट पर "SQL Server 2008 सर्विस पैक 1 द्वारा निर्धारित समस्याओं की सूची" और "SQL Server 2008 सर्विस पैक 3 द्वारा निर्धारित समस्याओं की सूची" को सूचीबद्ध कर सकते हैं। दोनों सूचियों में मुद्दों की संख्या और गंभीरता की तुलना करें। IMO की पहली सूची लंबी है, और इसमें अधिक आइटम हैं जो मेरे दिन को बर्बाद कर सकते हैं, जैसे:

  • जब आप Windows Vista या Windows Server 2008 चला रहे क्लाइंट कंप्यूटर पर SQL सर्वर के नामांकित इंस्टेंस से कनेक्ट करते हैं तो त्रुटि संदेश
  • लॉग रीडर एजेंट लेन-देन को दोहराने के लिए चलाता है, तो लॉग रीडर एजेंट कुछ लेनदेन को छोड़ देता है
  • त्रुटि संदेश जब आप SQL Server 2008 में एक बाहरी सम्मिलित कार्रवाई शामिल है जो एक क्वेरी चलाते हैं
  • त्रुटि संदेश जब आप एक अद्यतन करते हैं या किसी ऑपरेशन को हटाते हैं, जिसमें SQL Server 2008 में निर्मित क्लस्टर इंडेक्स नहीं होता है
  • जब आप SQL सर्वर 2008 में एक से अधिक कनेक्शनों में क्वेरी चलाते हैं, तो पैरामीटर और RECOMPILE विकल्प का उपयोग करने वाला क्वेरी गलत परिणाम देता है

आइए हम एक और स्तर नीचे ड्रिल करें और केवल एक कमांड पर विचार करें। इसे कई समस्याओं के साथ SQL 2008 के भाग के रूप में जारी किया गया था, जो निम्न लिंक में वर्णित है:

जैसे, SQL 2008 की मूल रिलीज़ के समय, मैंने MERGE का उपयोग करने के खिलाफ फैसला किया। मैं अब 2008 R2 पर MERGE का उपयोग कर रहा हूं, और मुझे लगता है कि यह वास्तव में एक बड़ी विशेषता है।

संपादित करें: यहां SQL 2012 में दोषों की सूची है जो हाल ही में तय किए गए थे । आशा है ये मदद करेगा।

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

इसी तरह, स्नैपशॉट अलगाव एक भयानक नई विशेषता है जो सिर्फ काम करता है, लेकिन CHECK बाधाओं में स्केलर UDFs को लागू करना सभी मामलों में काम नहीं करता है और जब हमें डेटा अखंडता की आवश्यकता होती है तो ऐसे उत्पादन में उपयोग नहीं किया जाना चाहिए। हालाँकि, दोनों नई सुविधाओं को "SQL xxxx में नया क्या है" प्रस्तुतियों के साथ-साथ किताबों, लेखों आदि में और समान उत्साह के साथ अनुशंसित किया गया था।

हमें नई विशेषताओं के साथ बहुत सावधान रहने की आवश्यकता है - उनमें से सभी उपयोगी / विश्वसनीय / प्रदर्शन करने वाले नहीं हैं।


मैंने सूची देखी। वास्तव में शो-स्टॉपर्स के रूप में किसी भी अनुभव नहीं किया, और लगभग सभी मुद्दों का उल्लेख 2008 R2 और 2012 दोनों को प्रभावित करता है।
हारून बर्ट्रेंड

1
यहां एक और संभावित MERGEबग है जो गतिरोध का कारण बनता है।
निक चामास

@NickChammas हाँ, ठीक है, इस उल्लेख के लिए धन्यवाद। हम घूमने के लिए sp_getapplock का उपयोग कर रहे हैं।
एके

10

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

ग्रीनफील्ड प्रोजेक्ट के लिए आपके पास बग्स के आसपास काम करने के लिए कुछ सांस लेने की जगह होती है और अगर वे पलटते हैं तो उन्हें वेंडर के साथ बढ़ा सकते हैं, इसलिए यह पूरी तरह से अनियंत्रित प्रक्रिया नहीं है। मैं SQL Server 2005 की पहली डेटा वेयरहाउस परियोजनाओं में से एक में शामिल था, जैसा कि यह RTM के पास गया और हम इसे लेकर चले गए।

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


6

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

पहले सर्विस पैक की आवश्यकता के रूप में, आपको यह पता चलने से पहले बाहर हो जाएगा और चूंकि आप नए विकास कर रहे हैं, इसलिए यह जो समस्याएँ ठीक करता है वह संभवतः आपको प्रभावित नहीं करेगा क्योंकि लाखों रिकॉर्ड्स के साथ एक विरासत डेटाबेस का सामना करना पड़ेगा।

अब यदि आप एक नया सर्वर प्राप्त कर रहे हैं, लेकिन उस पर एक पुराना डेटाबेस डाल रहे हैं, तो यह प्रश्न बन जाता है कि आप किस से अपग्रेड कर रहे हैं? यदि डेटाबेस पहले से ही 2008 डेटाबेस है, तो समान संस्करण का उपयोग करना काफी कम जोखिम भरा होगा। यदि आप अपग्रेड कर रहे हैं, तो यह देखने के लिए जांचें कि क्या आप अपने वर्जन से सीधे 2012 में अपग्रेड कर सकते हैं।


कोई अपग्रेड नहीं है। यह नए हार्डवेयर पर एक नया ऐप है।
usr
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.