मैं एक डेटाबेस के खिलाफ 1GB की मात्रा में एक dbcc संकोचन चलाने का प्रयास कर रहा हूं जहां 95% डेटा संग्रहीत और हटा दिया गया है। मैं एक 235GB फ़ाइल के साथ लीक हुआ हूं, जहां 9GB डेटा / इंडेक्स है। मैं इसे 50GB तक सिकोड़ना चाहता हूं। मुझे पता है कि सिकुड़ती हुई डेटाबेस फाइलें खराब हैं, यह विखंडन आदि का कारण बनती है। डेटा पर्ज / सिकुड़न के हिस्से के रूप में हमारे पास एक मुहावरेदार स्क्रिप्ट भी है।
जब मैं अपने कार्य केंद्र (क्वाड कोर, 12 जीबी रैम, 2 एक्स एसएटीए ड्राइव) पर डेटाबेस के खिलाफ अपनी डीबीसीसी सिक्योरफाइल स्क्रिप्ट चलाता हूं, तो सिकुड़न में लगभग 8-10 मिनट लगते हैं।
डेटाबेस पोस्ट डेटा पर्ज की एक समान प्रतिलिपि के खिलाफ समान कोड चलाते समय, हमारे परीक्षण एनवायरनमेंट में, (80+ कोर, 128 जीबी रैम, एसएसडी सैन), इसमें 70 मिनट लगते हैं। नोट करने के लिए, इस सर्वर पर सिकुड़न फ़ाइल के चलने के समय बहुत कम गतिविधि होती है। यह समान परिणामों के साथ 4 बार चलाया गया है।
मैंने फिर एक अलग दृष्टिकोण लिया, शेष 9GB को एक अलग फ़ाइलग्रुप और भौतिक फ़ाइल में ले जाने के लिए। खाली 230GB फ़ाइल पर dbcc सिकुड़ते हुए इसे 50GB तक सिकोड़ने के लिए, मेरे अपने कार्य केंद्र पर <1 मिनट लगता है।
इसी दृष्टिकोण के साथ, परीक्षण के माहौल पर, इसे फिर से 70+ मिनट लगते हैं।
मैं पहले और बाद में वेटस्टार की एक स्नैपशॉट ले चुका हूं, जबकि ब्रेंट ओजर की स्क्रिप्ट 70 मिनट के दौरान टेस्ट एनसाइटेमेंट पर चलाई गई थी, और वाट्सएप कुछ भी नहीं दिखा रहा था। नीचे शीर्ष 3 पंक्तियाँ:
सेकंड्स में सेकंड सैंपल टाइम सैंपल की अवधि Wait_type प्रतीक्षा समय (सेकंड्स) प्रतीक्षा समय की संख्या प्रति मिनट ms प्रतीक्षा करें 2013-05-28 11: 24: 22.893 3600 WRITELOG 160.8 143066 1.1 2013-05-28 11: 24: 22.893 3600 CXPACKET 20.9 13915 1.5 2013-05-28 11: 24: 22.893 3600 PAGELATCH_EX 11.1 443038 0.0
विंडोज ईवेंट लॉग असामान्य कुछ भी नहीं दिखाता है। मैं इस बिंदु पर खरोंच कर रहा हूं, मेरे स्टैंडअलोन वर्कस्टेशन की तुलना में निंजा हार्डवेयर पर इतना समय क्यों लग रहा है।
sys.dm_os_latch_stats
@@version
दोनों पर