मैंने पढ़ा है कि SQL Server 2000 के बाद, एक पहचान कॉलम "संयुक्त राष्ट्र की पहचान" की क्षमता को हटा दिया गया था। और यह था कि "बाय डिजाइन" (न केवल एक लापता सुविधा)।
यहाँ एक उदाहरण मुझे एक ब्लॉग पर मिला है । इसमें सिस्टम टेबल को अपडेट करना शामिल है। (और SQL Server 2000 के बाद उस क्षमता को हटा दिया गया था।) मुझे लगता है कि सिस्टम टेबल के माध्यम से ऐसा करना एक अच्छा विचार नहीं है। मैं बस सोच रहा हूं कि ऐसा करने का फीचर दूसरा तरीका क्यों नहीं है।
इसके आसपास काम करने से मुझे काफी मात्रा में काम करना पड़ रहा है। (डाउनटाइम असहिष्णु वातावरण में कई सैकड़ों लाखों पंक्तियों को नई तालिकाओं में कॉपी करना।)
इसलिए मैंने सोचा कि मैं "क्यों" पूछूंगा।
Sql Server 2005 और बाद के संस्करणों में क्या बदलाव आया जिसने इसे एक बुरी चीज बना दिया? या यह हमेशा खराब था, और बस बंद नहीं हुआ?
पहचान स्तंभ को फिर से एक सामान्य स्तंभ बनाकर "सर्वश्रेष्ठ अभ्यास" (या समान सिद्धांत) का क्या उल्लंघन होगा?
-
"मैं ऐसा क्यों कर रहा हूं" के अनुरोध का उत्तर देने के लिए अपडेट करें:
यह एक उच्च स्तरीय सारांश है: मैं अपनी तालिकाओं में विभाजन जोड़ना शुरू करने जा रहा हूं। (ताकि मैं पुराने डेटा को संग्रह / शुद्ध कर सकूं।) यह सब आसान है। लेकिन मुझे कभी-कभी एक रिकॉर्ड को एक अलग विभाजन में स्थानांतरित करने की आवश्यकता होती है, इसलिए इसे हटाया नहीं जाता है (जब एक संग्रह अभिलेखीय / विलोपन के लिए आता है)। (मैं अपने विभाजन कॉलम को 2 से बढ़ा रहा हूं ताकि पंक्ति को किसी भिन्न विभाजन में स्थानांतरित करने के लिए हमेशा जगह हो।)
लेकिन अगर विभाजन स्तंभ एक पहचान स्तंभ है, तो मुझे मूल्य को हटाना और फिर से डालना होगा (पहचान स्तंभ के मूल्य को अपडेट करने का कोई तरीका नहीं है)। जो प्रतिकृति के साथ समस्याओं का कारण बनता है।
इसलिए मैं पहचान स्तंभ के बजाय एक अनुक्रम का उपयोग करना चाहता हूं। लेकिन बड़े डेटाबेस पर वह स्विच बहुत कठिन है।