पॉल द्वारा बैकअप इंटर्नल के संबंध में लिखा गया लेख बेहतरीन है और आपको इसे अवश्य पढ़ना चाहिए। अपने प्रश्न के विशिष्ट भाग पर दूसरों ने जो कुछ भी कहा है और उस पर जोर दिया है
इसके अलावा, मैंने सुना है कि बैकिंग सिंगल थ्रेडेड है जिसका अर्थ है कि यह केवल एक कोर का उपयोग करता है, आपको सिंगल फाइल का बैकअप देता है। यह मानते हुए कि आपके पास एक मल्टीकोर मशीन है, उदाहरण के लिए 16 कोर, या कम से कम एक से अधिक बड़ी संख्या।
बैकअप ऑपरेशन, can use parallelism
लेकिन याद रखें कि यह SQL सर्वर में ऑप्टिमाइज़र द्वारा संचालित समानांतरवाद नहीं है, जिसमें बैकअप शामिल है जहाँ से बैकअप को डेटा फ़ाइल को पढ़ना है और जहाँ बैकअप डेटा फ़ाइल और बैकअप फ़ाइलों की मात्रा लिखता है।
MAXDOP
SQL सर्वर बैकअप लेते समय आप संकेत का उपयोग नहीं कर सकते
आप सरल TSQL बैकअप ऑपरेशन के लिए SSMS में निष्पादन योजना नहीं बना सकते हैं।
SQL सर्वर में क्वेरी ऑप्टिमाइज़र द्वारा संचालित समानता मूल रूप से शामिल ऑपरेटरों के लिए है (वास्तव में इसकी अधिक जटिल लेकिन सरलता के लिए आप इसे ले सकते हैं) क्योंकि बैकअप ऑपरेशन में कोई ऑपरेटर शामिल नहीं है क्योंकि यह ऑप्टिमाइज़र द्वारा संचालित समानता का उपयोग नहीं कर सकता है।
मैंने बैकअप और समानता के बारे में Technet Wiki पर एक लेख लिखा था जहाँ मैंने SQL Server बैकअप के दौरान समानता की व्याख्या करने के लिए सरल उदाहरणों का उपयोग किया था। इसके बाद निष्कर्ष निकला
यदि डेटाबेस फाइलें कई डिस्क बैकअप पर हैं तो डेटा को पढ़ने के लिए प्रति डिवाइस ड्राइव पर थ्रेड बैकअप शुरू होगा। उसी तरह यदि कई ड्राइव / माउंट पॉइंट्स पर रिस्टोर किया जाता है तो बैकअप ऑपरेशन प्रति ड्राइव / माउंट पॉइंट पर एक थ्रेड आरंभ करेगा
यहां तक कि अगर आप एक ही ड्राइव पर बैकअप की कई प्रतियाँ डंप कर रहे हैं, तो हमारे पास एक थ्रेड प्रति बैकअप फ़ाइल डंप होगी।
बैकअप से संबंधित समानता धारियों से संबंधित है। प्रत्येक स्ट्रिप को अपने स्वयं के श्रमिक धागे मिलते हैं और यह वास्तव में बैकअप का एकमात्र हिस्सा है / पुनर्स्थापित करता है कि किसी को समानांतर संचालन के रूप में माना जाना चाहिए।
समानता की अधिकतम डिग्री का बैकअप संचालन पर कोई प्रभाव नहीं पड़ता है।
मुझे इस पर कुछ विशेषज्ञ की राय पॉल और बॉब डोर से मिली।
तो क्या होता है जब एक बैकअप नौकरी चल रही है? और विभिन्न संस्करणों के लिए महत्वपूर्ण अंतर भी हैं? उदाहरण के लिए 2008,2012 और 2014 (लाइसेंस नहीं)।
मैं आपको बॉब डोरर के इस ब्लॉग को पढ़ने की सलाह दूंगा । कुछ महत्वपूर्ण बिंदुओं पर उन्होंने जोर दिया
जब एक बैकअप शुरू होता है तो यह बफर पूल के बाहर मेमोरी से आवंटित बफ़र्स की एक श्रृंखला बनाता है। लक्ष्य आमतौर पर प्रत्येक बफर के लिए 4MB होता है जिसके परिणामस्वरूप लगभग 4 से 8 बफ़र्स होते हैं। गणना के बारे में विवरण यहां स्थित है: http://support.microsoft.com/kb/904804/en-us
बफ़र्स को मुफ्त और डेटा कतारों के बीच परिवर्तित किया जाता है। पाठक एक मुफ्त बफर खींचता है, इसे डेटा से भरता है और इसे डेटा कतार पर रखता है। लेखक (ओं) को डेटा कतार से भरे हुए डेटा बफ़र्स खींचते हैं, बफर की प्रक्रिया करते हैं और इसे मुफ्त सूची में वापस करते हैं।
आपको प्रति बैकअप डिवाइस पर एक लेखक मिलता है, प्रत्येक डेटा कतार से पुनर्प्राप्त होता है। तो चार (4) डिस्क विनिर्देशों के साथ एक बैकअप कमांड में चार लेखक और एक पाठक होंगे। पाठक async I / O का उपयोग करता है ताकि यह लेखकों के साथ बना रह सके।
आप सक्षम कर सकते हैं trace flags 3213 and 3605
, दोनों अनिर्धारित हैं इसलिए कृपया परीक्षण पर्यावरण पर इसका उपयोग करें, और देखें कि SQL सर्वर त्रुटि में क्या दिलचस्प संदेश डंप किया गया है। नीचे कुछ दिखाई देगा
Memory limit: 249MB
BufferCount: 7
Sets Of Buffers: 1
MaxTransferSize: 1024 KB
Min MaxTransferSize: 64 KB
Total buffer space: 7 MB
Tabular data device count: 1
Fulltext data device count: 0
Filestream device count: 0
TXF device count: 0
Filesystem i/o alignment: 512
Media Buffer count: 7
Media Buffer size: 1024KB
मुझे विभिन्न संस्करणों के लिए बैकअप कोड में किसी भी महत्वपूर्ण बदलाव के बारे में पता नहीं है, ऐसी चीजों का दस्तावेजीकरण नहीं किया गया है। मैं केवल SQL Server 2012 SP1 Cumulative Update 2,
बैकअप सक्षम करने और TSSQL या SMO का उपयोग करते हुए SQL सर्वर से Windows Azure Blob संग्रहण सेवा से शुरू किए गए एन्हांसमेंट के बारे में जानता हूं । यहां पढ़ें