6

मेरे पास text कॉलम पर एक टेबल इंडेक्सिंग पर क्लस्टर्ड इंडेक्स है। मैं उस कॉलम को ID जैसे अलग कॉलम से स्विच करना चाहता हूं, मैं इंडेक्स को कैसे बदलूं?ऑल्टर क्लस्टर्ड इंडेक्स कॉलम

मैं ड्रॉप नहीं कर सकता और फिर से बना सकता हूं क्योंकि यह Azure पर चल रहा है और तालिका को हर समय क्लस्टर सूचकांक की आवश्यकता होती है।

एसक्यूएल कमांड और इंडेक्स में इंडेक्स कॉलम बदलने के लिए वाक्यविन्यास।

सूचकांक में परिवर्तन?

+0

नहीं कर सकते आप आवश्यक स्तंभ पर एक नया क्लस्टर सूचकांक जोड़ने के लिए, और उसके बाद वर्ष एक बूंद? –

+0

@AjoKoshy: नहीं - आप ** कभी ** एक टेबल पर एक से अधिक क्लस्टर्ड इंडेक्स नहीं कर सकते हैं! –

उत्तर

5

आप क्लस्टर्ड इंडेक्स को बदल नहीं सकते हैं।

एकमात्र विकल्प इसे छोड़ना और इसे नए कॉलम के साथ फिर से बनाना है।

अपने मामले में, आपको शायद ID पर नए क्लस्टर्ड इंडेक्स के साथ तालिका को फिर से बनाना होगा और फिर डेटा को कॉपी करना होगा।

9

इस प्रयास करें:

create clustered index [your_index_name] 
on [your_table] 
    ([ID]) 
with (drop_existing = on) 
+0

यह मेरे लिए काम नहीं किया: संदेश 1 9 07, स्तर 16, राज्य 1, रेखा 1 इंडेक्स 'my_index_name' को पुन: निर्मित नहीं कर सकता। नई इंडेक्स परिभाषा मौजूदा इंडेक्स द्वारा लागू बाधा से मेल नहीं खाती है। –

+1

मेरा अनुमान है कि आपकी क्लस्टर इंडेक्स भी प्राथमिक कुंजी है। उस स्थिति में, आपको छोड़ने और फिर से बनाने की आवश्यकता है। –

+1

यह प्राथमिक कुंजी पर क्लस्टर इंडेक्स नंबर के साथ बहुत अच्छा काम करता है। धन्यवाद! – kspearrin

संबंधित मुद्दे

 संबंधित मुद्दे