मैं वर्तमान में एक स्क्रिप्ट चला रहा हूं जो एक SQL सर्वर 2005 डेटाबेस में हर टेबल पर एक समय में एक टेबल पर DBCC INDEXDEFRAG करता है। अंतरिक्ष अवरोध और अपटाइम आवश्यकताओं के कारण, INDEXDEFRAG के बजाय DBCC DBREINDEX का उपयोग करना एक विकल्प नहीं है।
मैंने देखा है कि कुछ तालिकाओं को डीफ़्रैग्मेन्ट होने में लंबा समय लगता है। उदाहरण के लिए यदि मैं "sysinos_exec_requests" डायनेमिक प्रबंधन दृश्य की जांच करता हूं, तो मैं देख सकता हूं कि वर्तमान में निम्नलिखित INDEXDEFRAG तालिका के क्लस्टर इंडेक्स पर मंथन कर रहा है जिसमें 8_61010394 का एक टेबल_आईडी है:
DBCC INDEXDEFRAG (0, 829610394, 1)
मुझे पता है कि डीफ़्रैग्मेन्टेशन प्रक्रिया पूरी होने से पहले यह एक लंबा समय होगा। इस तथ्य को छोड़कर कि वर्तमान में चल रही स्क्रिप्ट अंततः सभी तालिकाओं को डीफ़्रैग्मेन्ट करेगी, क्या वर्तमान कमांड निष्पादित करते समय किसी अन्य तालिका के क्लस्टर इंडेक्स पर किसी अन्य DBCC INDEXDEFRAG को मैन्युअल रूप से चलाने से मुझे कोई नुकसान है? यदि मैं ऐसा करता हूं तो क्या दोनों टेबल वास्तव में एक ही समय में डीफ़्रैग्मेन्ट हो जाएंगे?