नमस्ते
इस लेख में, मैं SQL सर्वर में डेटाबेस स्नैपशॉट की व्याख्या करूँगा। डेटाबेस स्नैपशॉट एक ऐसी सुविधा है जो SQL सर्वर 2005 के साथ आती है और 2008, 2012, 2014, 2016, SQL Server 2017 आदि में चल रही सुविधा है। डेटाबेस स्नैपशॉट; सबसे सरल परिभाषा यह है कि किसी भी समय डेटाबेस या डेटाबेस के स्नैपशॉट की केवल-पढ़ने के लिए प्रतिलिपि।
जब स्नैपशॉट प्रक्रिया की जाती है, तो SQL सर्वर चयनित डेटाबेस की वर्तमान छवि लेता है लेकिन स्नैपशॉट डेटाबेस के लिए डिस्क पर वर्तमान भौतिक डेटा नहीं होता है।
एक अद्वितीय भौतिक डेटा है और यह सिर्फ उत्पादन डेटाबेस के लिए है। स्नैपशॉट लेते समय लेन-देन रोलबैक को अनकमिट करें। स्नैपशॉट डेटाबेस में किया गया कोई भी परिवर्तन स्पैस फ़ाइल . पर लिखा जाएगा स्नैपशॉट डेटाबेस के लिए।
इसका मतलब यह है कि अगर किसी ने स्नैपशॉट डेटाबेस में किसी भी डेटा को बदल दिया है, जब कोई भी स्नैपशॉट से समान डेटा से संबंधित किसी भी चयन को क्वेरी करता है, तो SQL सर्वर स्पार्स फ़ाइल से बदले गए डेटा को पढ़ेगा और मूल डेटाबेस से अनमॉडिफाइड डेटा को पढ़ेगा।
इस परिदृश्य को सारांशित करने वाला सबसे सुंदर चित्र निम्न चित्र है जो MSDN द्वारा प्रकाशित किया गया है।
जैसा कि ऊपर चित्र में दिखाया गया है, पहले मामले में, उत्पादन डेटाबेस के 10 में से 3 पृष्ठों को अद्यतन किया जा रहा है। ये अद्यतन भी स्पार्स फ़ाइल में लिखे गए हैं जैसा कि पहले मामले में दिखाया गया है। दूसरे मामले में, स्रोत डेटाबेस से 8 पृष्ठ अपडेट किए जाते हैं और 7 पृष्ठ विरल फ़ाइल में लिखे जाते हैं।
जब स्नैपशॉट से कोई रिपोर्ट या क्वेरी निष्पादित की जाती है, तो SQL सर्वर SQL सर्वर स्रोत डेटाबेस से अपरिवर्तित पृष्ठों को पढ़ता है, और SQL सर्वर स्पार्स फ़ाइल से बदले गए पृष्ठों को पढ़ता है।
स्नैपशॉट का मुख्य उद्देश्य किसी भी डेटाबेस का बैकअप बनाकर और स्नैपशॉट के माध्यम से रिपोर्ट बनाकर एक निश्चित अंतराल के लिए डेवलपर्स के लिए एक स्थिर रिपोर्ट या परीक्षण डेटाबेस बनाना है। अगर उत्पादन डेटाबेस में मामूली त्रुटियां होती हैं, तो व्यवस्थापक स्नैपशॉट से अपनी मूल स्थिति में वापस आ सकता है।
हालाँकि, यह बहुत महत्वपूर्ण है कि स्नैपशॉट डेटाबेस एक-से-एक इसके स्रोत डेटाबेस से जुड़ा है यदि इसे हटा दिया जाता है या माइग्रेट किया जाता है तो स्नैपशॉट डेटाबेस से मुख्य डेटाबेस वापस नहीं किया जा सकता है। इसलिए स्नैपशॉट डेटाबेस SQL सर्वर के लिए बिल्कुल बैकअप रणनीति नहीं है। इसका उपयोग परीक्षण डेटाबेस के लिए किया जा सकता है।
मैं अगली पोस्ट में SQL सर्वर डेटाबेस स्नैपशॉट के बारे में बताना जारी रखूंगा।