SQL सर्वर 2008 R2 अनुक्रमणिका पुन: निर्माण गंभीरता के साथ विफल रहता है 17


12

कभी-कभी हमारे सूचकांक अनुरक्षण के दौरान, नौकरी एक एसईवी 17 त्रुटि के साथ विफल हो जाएगी जहां उस वस्तु के पुनर्निर्माण के लिए पर्याप्त स्थान आवंटित नहीं किया जा सकता है। डेटाबेस को इस प्रकार रखा गया है:

Data_file1    PRIMARY    0 growth         0% free                Max Size UNLIMITED
Data_file2    PRIMARY    0 growth         0% free                Max Size UNLIMITED
Data_file3    PRIMARY    0 growth         Less than 1% free      Max Size UNLIMITED
Data_file4    PRIMARY    250 MB growth    Less than 1% free      Max Size UNLIMITED

अनिवार्य रूप से, 4 डेटा फ़ाइलों में से 3 भरे हुए हैं और बढ़ने की अनुमति नहीं है, चौथा भरा हुआ है और बढ़ने की अनुमति है। फाइलें अलग-अलग LUN में फैली हुई हैं (और इसका कारण गड़बड़ है)। इसलिए जब ऑनलाइन इंडेक्स का पुनर्निर्माण शुरू होता है, तो यह मेरी समझ है कि यदि किसी अतिरिक्त स्थान की आवश्यकता है, तो यह Data_file4 में बढ़ेगा और ठीक होगा, लेकिन यह स्पष्ट रूप से एक अलग फाइल में बढ़ने की कोशिश कर रहा है, जहां विकास की अनुमति नहीं है और विफल हो रहा है। मैं इस त्रुटि को पुन: पेश करने में असमर्थ हूं, लेकिन मैं सोच रहा था कि अगर किसी को पता था कि ऐसा क्यों होता है।

पूर्ण SQL सर्वर संस्करण 2008 R2 एंटरप्राइज़, SP2 CU 4 (10.50.4270) है। हम ओला हॉलेनग्रेन के पुनर्निर्माण की स्क्रिप्ट का उपयोग करते हैं, जहां हम ऑनलाइन का पुनर्निर्माण करते हैं, लेकिन किसी प्रकार का नहीं tempdb


क्या अधिकतम फ़ाइल आकार निर्दिष्ट है? डॉक्स If max_size is not specified, the file size will increase until the disk is full.ग्रांटेड कहते हैं , अगर ऑटो-ग्रोथ बंद है, तो उन फाइलों ( ) से आवंटित करने की कोशिश नहीं की जानी चाहिएA value of 0 indicates that automatic growth is set to off and no additional space is allowed. , लेकिन एक बग हो सकता है, इसलिए इसे सेट न करने पर कोशिश करने पर चोट नहीं लगेगी।
जॉन सीगल

max_size isवर्तमान में UNLIMITED पर सेट है, यहां तक ​​कि उन पर भी जो 0 विकास कर रहे हैं। मैं अभी अपने रेप्रो टेस्ट में इसकी जांच कर रहा हूं।
माइक फाल

क्या आप परिणाम लॉग कर रहे हैं? यदि आप ऐतिहासिक रिकॉर्ड रखते हैं तो क्या हर बार असफल होने पर उसी सूचकांक पर त्रुटि होती है?
कौगर

सूचकांक कितने पृष्ठों में है?
मार्क विल्किंसन

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

जवाबों:


1

मेरा अनुभव यह है कि यह हमेशा उस फ़ाइल समूह में एक ऑनलाइन पुनर्निर्माण करने जा रहा है जिस पर सूचकांक रहता है। इसे मौजूदा सूचकांक को मैप करना होगा और अनिवार्य रूप से एक कॉपी के लिए पर्याप्त स्थान रखना होगा।

आपको केवल उस त्रुटि को प्राप्त करना चाहिए जब एक अनुक्रमणिका जो मैपिंग (प्रतिलिपि) रखने के लिए बहुत बड़ी है - उदाहरण के लिए, एक बार यह ओला की स्क्रिप्ट में अर्हता प्राप्त करने के लिए पर्याप्त रूप से खंडित हो सकती है और अगली बार ऐसा नहीं हो सकता है।

एक बेहतरीन लेख है http://technet.microsoft.com/en-us/library/ms179542(v=sql.105).aspx जिसे मुझे कई बार पढ़ना था जब इंडेक्स के साथ डिस्क स्पेस के मुद्दों में भाग लेना पड़ता था।

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