कभी-कभी हमारे सूचकांक अनुरक्षण के दौरान, नौकरी एक एसईवी 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
।
max_size is
वर्तमान में UNLIMITED पर सेट है, यहां तक कि उन पर भी जो 0 विकास कर रहे हैं। मैं अभी अपने रेप्रो टेस्ट में इसकी जांच कर रहा हूं।
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.
, लेकिन एक बग हो सकता है, इसलिए इसे सेट न करने पर कोशिश करने पर चोट नहीं लगेगी।