2010-06-03 13 views
10

मैं एक मेज 'एक्स' और निम्नलिखितपूर्ववत टेबल विभाजन

  1. बनाया था मूल्यों के लिए PARTITION फंक्शन PF1 (INT) रेंज वाम के रूप में (1, 2, 3, 4)
  2. बनाएं PARTITION योजना है PS1 के रूप में PARTITION PF1 सभी को ([प्राथमिक])
  3. बनाएं क्लस्टर सूचकांक CIDX_X पर एक्स (col1) PS1 पर (col1)

इस 3 चरणों डेटा मैं था के 4 तार्किक विभाजन बनाया।

मेरा सवाल है, मैं इस विभाजन को अपनी मूल स्थिति में कैसे वापस कर सकता हूं?

उत्तर

21

निरंतर खोज

कदम के 2 दिनों के बाद:

  1. DROP INDEX CIDX_X on X/* ड्रॉप क्लस्टर */
  2. CREATE CLUSTERED INDEX CIDX_X1 ON X(col1) ON [PRIMARY]/* विभाजन से मुक्त करने के लिए मेज पर एक और क्लस्टर सूचकांक बनाएं योजना; यहां, "चालू [प्राथमिक]" भाग विभाजन से विभाजन योजना को हटाने के लिए महत्वपूर्ण है! */
  3. DROP PARTITION SCHEME PS1
  4. DROP PARTITION FUNCTION PF1
  5. DROP INDEX CIDX_X1 ON X/* डमी क्लस्टर सूचकांक आपके द्वारा बनाए छोड़ें, जैसा कि यह केवल विभाजन योजना */
0

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

नोट: मैं एसक्यूएल उपयोग कर रहा हूँ 2012
प्राथमिक कुंजी सामान्य रूप से सबसे अधिक इस्तेमाल किया क्लस्टर बाधा है, इसलिए जहाँ भी मैं प्राथमिक कुंजी इस्तेमाल किया, विचार है कि उन कदमों भी क्लस्टर की कमी के लागू होते हैं। इसके अलावा, पीएस = विभाजन योजना, पीएफ = विभाजन समारोह।

कुछ प्रारंभिक कदम:

  1. एक बूंद प्रकाशन स्क्रिप्ट बनाने
  2. एक
  3. प्रकाशन स्क्रिप्ट बनाने के सभी तालिकाओं जो विभाजन योजना के साथ निर्भरता की पहचान है, और यह भी नोट कर उनके प्राथमिक कुंजी/क्लस्टर इंडेक्स। साथ ही, प्राथमिक कुंजी कॉलम का उपयोग करने वाले सभी फ़ील्ड को नोट करें (प्राथमिक कुंजी या क्लस्टर इंडेक्स के लिए स्क्रिप्ट उत्पन्न करने के लिए बेहतर)
  4. प्रभावित होने वाली तालिकाओं के लिए एक स्क्रिप्ट बनाएं।
  5. प्रश्न में पीएफ और पीएस के लिए एक स्क्रिप्ट बनाएं।

    उपरोक्त सभी, SQL प्रबंधन स्टूडियो का उपयोग करके "स्क्रिप्ट उत्पन्न करें" राइट क्लिक पर।और ड्रॉप और बनाएँ चुनें।

अब, जब सब कुछ तैयार है।
1. प्रकाशन ड्रॉप करें (आपके द्वारा जेनरेट की गई स्क्रिप्ट का उपयोग करें)
2. पीएस से जुड़े उन तालिकाओं की प्राथमिक कुंजी बाधा ड्रॉप करें। alter table [tablename] drop constraint [pk_name]
3. एक डमी बाधा बनाएं लेकिन उसी फ़ील्ड का उपयोग करें जिसे आपने उस हटाए गए प्राथमिक कुंजी में उपयोग किया था। CREATE CLUSTERED INDEX CIDX_X1 ON tablename(field1,field2,field3,field4) ON [PRIMARY]
4. विभाजन योजना और कार्य को छोड़ दें।

DROP PARTITION SCHEME [PartitionSchemeName_PS] 
GO 

DROP PARTITION FUNCTION [PartitionfunctionName_PF] 
GO 
  1. ड्रॉप डमी सूचकांक DROP INDEX CIDX_X1 ON tablename
  2. वापस क्लस्टर सूचकांक/प्राथमिक कुंजी बाधा (जैसा कि पहले उल्लेख के रूप में उत्पन्न स्क्रिप्ट का उपयोग करें।
  3. विभाजन समारोह बनाएं और विभाजन स्कीमा (सुनिश्चित करना है कि के पी एस> पीएफ। जहां पी एस = पीएफ + 2 तत्वों तत्वों की संख्या)
  4. (उत्पन्न स्क्रिप्ट का उपयोग) वापस प्रकाशक जोड़े
संबंधित मुद्दे