मैं एक 2TB डेटाबेस के विभाजन के लिए लाइव प्रवास की योजना बना रहा हूँ। यह प्रणाली मोटे तौर पर एक दस्तावेज़ की दुकान बोल रही है, जिसमें 50kb और 500kb के बीच LOB के लिए आवंटित किया जा रहा है, जिसमें 500kb से 1MB की रेंज में एक छोटा प्रतिशत है। माइग्रेशन के भाग में पुराने से नए डेटाबेस में BCPing डेटा शामिल होगा।
बीसीपी पसंदीदा तरीका है क्योंकि डेटा में वर्तमान / ऐतिहासिक विभाजन एक अंतिम स्विच से पहले चरणों में (शांत अवधि के दौरान) पुराने डेटा को निकालने की अनुमति देता है, लाइव सिस्टम पर प्रभाव को कम करता है। डेटा की मात्रा और भंडारण की उपलब्धता इन-सीटू को एक विभाजन योजना के पुनर्निर्माण के लिए प्राथमिकता देती है ।
मुझे संदेह है कि BLOB सामग्री के कारण, ROWS_PER_BATCH के बजाय KILOBYTES_PER_BATCH के साथ प्रयोग करके कुछ प्रदर्शन लाभ हो सकते हैं। यह BCP दस्तावेज़ीकरण में सुझाया गया है कि SQL इस मान के आधार पर संचालन को अनुकूलित कर सकता है।
जो कुछ मुझे नहीं मिल रहा है वह इन ऑप्टिमाइज़ेशन की प्रकृति पर या मेरा परीक्षण शुरू करने के लिए कहां है। सुझावों की अनुपस्थिति में मैं शुरू करने के लिए 4/8/16/32 / 64mb सीमाओं पर कम रन की कोशिश करूंगा।
पैकेट आकार (BCP -a पैरामीटर, सर्वर स्तर सेटिंग के बजाय) को बदलने से संभवतः कुछ लाभ होंगे, लेकिन मैं इसे अधिकतम 65535 तक टक्कर देने के लिए इच्छुक हूं, जब तक कि किसी के पास अधिक सूत्र दृष्टिकोण न हो।