हमारे संगठन में, कई कारण हैं। कुछ हमारे मामले के लिए बहुत विशिष्ट हैं, और अन्य कुछ अधिक सामान्य हैं।
1) असंगतताएं। हमारे पास ऐसे कुछ मामले हैं जिनमें SQL2005 के लिए इन-हाउस सॉफ्टवेयर लिखा गया था, जो SQL2000 पर स्थापित होने पर समस्याएँ होती हैं। जो मामला मैंने सबसे हाल ही में देखा था, वह पैरामीटर के स्पष्ट रूप से घोषित होने के कारण था जो कि 2000 में मौजूद नहीं है, और सिस्टम इंडेक्स टेबल के नाम में अंतर है। (sys.indexes बनाम sysindexes)
2) प्रशिक्षण। हमारे डेवलपर्स निश्चित रूप से 2005 को जानते हैं, और इस पर विकसित होना पसंद करेंगे, या पहले से ही 2008। हालांकि, सब कुछ चालू रखने का काम डेवलपर्स से नहीं बल्कि एनओसी से जुड़ा है। हमारे एनओसी में किसी के पास कोई औपचारिक एसक्यूएल प्रशिक्षण नहीं है, और दोनों के बीच के अंतर, बस एक प्रशासनिक उपकरण के दृष्टिकोण से, इस पर विचार करने के लिए पर्याप्त हैं।
3) मौजूदा उत्पादों के उन्नयन की लागत। हमारे लिए, यह एक बड़ी बात है। मैं यहाँ Microsoft से लाइसेंस की लागत की बात नहीं कर रहा हूँ। हमारे व्यवसाय में, हमारे किसी भी मौजूदा उत्पाद पर अपग्रेड (भले ही हम पहले से ही फ़ील्ड में सब कुछ पहले से ही उन्नत न कर लें) को कई अलग-अलग विनियामक और प्रमाणित परीक्षण प्रयोगशालाओं के माध्यम से एक महंगी और लंबी पुन: प्रमाणन प्रक्रिया की आवश्यकता होगी। हम SQL2005 पर नए उत्पादों का निर्माण कर रहे हैं, लेकिन इस कारण पुराने लोगों को अपग्रेड नहीं कर रहे हैं।
प्रमाणन प्रक्रिया का यह भी अर्थ है कि हम नए बिल्डरों पर एक मिश्रण के साथ समाप्त हो जाएंगे, जहां कुछ अधिकार क्षेत्र SQL2000 हो रहे होंगे और अन्य SQL2005 प्राप्त कर रहे होंगे, इस आधार पर कि अनुमोदन अभी तक प्राप्त हुआ था या नहीं। हम अपने उत्पादन वातावरण को यथासंभव यथासंभव रखने के लिए, # 2 कारण के लिए पसंद करते हैं।
4) सामान्य अंतर। यह वास्तव में # 1 का विस्तार है। बहुत सारी छोटी चीजें हैं जो बदल गई हैं, जिनमें से कुछ हमारे सिरदर्द का कारण बनती हैं। उदाहरण के लिए, Server2003 पर SQL2005, SQL खातों पर विंडोज पासवर्ड नीतियों को लागू करेगा। अपने आप में कोई बुरी बात नहीं है, लेकिन यह हमारे (और बहुत से थर्ड-पार्टी) सॉफ्टवेयर को लगभग तोड़ देता है क्योंकि हम डेटाबेस के साथ बातचीत करते हैं।
संक्षेप में, जड़ता।