अजीब व्यवहार DBCC Shrinkfile


9

मैं एक डेटाबेस के खिलाफ 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दोनों पर
रेमस रूसु

क्या वह डेटा जो ब्लॉब डेटा या सामान्य डेटा हटा दिया गया था? आपके कार्य केंद्र की प्रतिलिपि वहां हटा दी गई थी या क्या आपने QA सिस्टम पोस्ट डिलीट का बैकअप लिया था, फिर उसे अपनी मशीन पर पुनर्स्थापित करें?
मर्डनी

जवाबों:


4

डेटाफ़ाइल पर श्रिंकफ़ाइल एक एकल-थ्रेडेड ऑपरेशन है, जो एक छोटी मेमोरी बफर का पुन: उपयोग करता है।

तो निंजा हार्डवेयर को अतिरिक्त मेमोरी और 80 कोर के साथ बढ़त नहीं मिली है।

आपके स्थानीय पीसी को हालांकि स्थानीय I / O विलंबता (स्थानीय डिस्क का लाभ होता है, अर्थात SAN की कई यात्राएं नहीं करनी होती हैं)।

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