एक अच्छा SQL सर्वर बैकअप शेड्यूल क्या है?


18

बैकअप कार्यों को स्थापित करने की प्रक्रिया के बारे में जानकारी का ढेर सारा लगता है, लेकिन डेटाबेस बैकअप के बड़े-चित्र के बारे में अधिक जानकारी नहीं है। कम से कम, एक खोज इंजन क्वेरी तैयार करना कठिन है जो आपको वह जानकारी देता है। मुझे पता है कि बैकअप के तीन प्रकार हैं:

  • पूर्ण डेटाबेस बैकअप
  • विभेदक डेटाबेस बैकअप
  • लेन-देन लॉग बैकअप

ऐसा लगता है कि मैं इन तीनों का उपयोग करने वाला हूं। तो, क्या यह एक अनुसूची है जो समझ में आता है?

  • प्रत्येक माह के पहले - एक पूर्ण डेटाबेस बैकअप करें।
  • हर दिन आधी रात को - एक अंतर डेटाबेस बैकअप करें।
  • हर 15 मिनट में - एक लेनदेन लॉग बैकअप करें।

इस तरह, यदि मेरा डेटाबेस विफल रहता है, तो कहिए, 12 वीं, मैं सिर्फ 1 से पूर्ण डेटाबेस बैकअप को पुनर्स्थापित करूंगा, 1 से 12 वीं तक 12 अंतर बैकअप करूं, और फिर अंत में सबसे हाल के लेन-देन लॉग को पुनर्स्थापित करूंगा ( लेनदेन लॉग अंतर?)।

अंत में, एक पूर्ण डेटाबेस बैकअप आत्म निहित है? 1 फरवरी को एक बार जब मैं एक पूर्ण डेटाबेस बैकअप बनाता हूं, तो क्या मैं जनवरी से सभी फाइलें हटा सकता हूं? बेशक, मैं पिछले महीने के एक जोड़े को सिर्फ मामले में सेट कर के रखूंगा, लेकिन सवाल वैचारिक है।

जवाबों:


24

SQL सर्वर में सभी चीजों के साथ, यह निर्भर करता है।

पहली बात जो आपको करने की ज़रूरत है वह सुनिश्चित करें कि आप समझते हैं कि प्रत्येक प्रकार का बैकअप क्या करता है।

पुस्तकें ऑनलाइन में सभी विवरण हैं , लेकिन यहां मेरा सारांश है।

एक पूर्ण बैकअप डेटाबेस के भीतर सब कुछ शामिल है। एक अलग बैकअप संचयी नहीं वृद्धिशील है। आपके उदाहरण में, यदि आपका डेटाबेस 12 वीं में विफल हो गया है, तो आपको केवल 1 से पूर्ण बैकअप को पुनर्स्थापित करने की आवश्यकता होगी और फिर 12 वीं पर सबसे हाल ही में अंतर होगा, फिर असफलता तक सभी लेन-देन लॉग बैकअप के बाद। पूर्ण या बल्क-लॉग रिकवरी मॉडल का उपयोग करने वाले डेटाबेस के लिए एक परिवहन लॉग बैकअप आवश्यक है। यदि आप सरल रिकवरी मॉडल का उपयोग कर रहे हैं तो लेनदेन लॉग बैकअप की आवश्यकता नहीं है।

अब जब हमने यह साफ़ कर दिया है कि ... बैकअप शेड्यूल डिज़ाइन करना वास्तव में इस बात पर निर्भर करता है कि आपको पुनर्प्राप्ति के लिए कितने डेटा की आवश्यकता है और कितनी तेजी से आपको डायस्टर की स्थिति में इसे पुनर्प्राप्त करने की आवश्यकता है। मैं प्रत्येक दिन एक पूर्ण बैकअप के साथ शुरू करने की सलाह दूंगा। आप हमेशा बाद में आवृत्ति कम कर सकते हैं। याद रखें कि अंतर बैकअप अंतिम पूर्ण के बाद से संचयी है, इसलिए आपके डेटाबेस में चल रही राशि परिवर्तन के आधार पर अंतर कुछ दिनों के बाद पूर्ण बैकअप से बड़ा हो सकता है। यदि आप प्रत्येक दिन एक पूर्ण बैकअप करते हैं, तो आपको अंतर का उपयोग करने की आवश्यकता नहीं हो सकती है; हालाँकि आप इसे दिन में एक बार कर सकते हैं और दोपहर 12 बजे इसे शेड्यूल कर सकते हैं। लेन-देन लॉग बैकअप केवल लॉग का बैकअप लेता है। लॉग बैकअप की आवृत्ति यह निर्धारित करेगी कि आप विफलता की स्थिति में कितना डेटा खोने को तैयार हैं। यदि आप अपना लॉग बैकअप हर 15 मिनट में चलाते हैं, फिर आप पिछले 15 मिनट के डेटा को खोने की उम्मीद करेंगे जो बदल गया। 15 मिनट एक अच्छी आवृत्ति है, लेकिन हर 30 मिनट मेरे वातावरण के लिए पूरी तरह से काम करता है।

जैसा कि मैंने पहले कहा था, यह सब आपके पर्यावरण पर निर्भर करता है। अपने बैकअप शेड्यूल को डिज़ाइन और सेटअप करने के बाद, इसे एक वैकल्पिक सर्वर पर परीक्षण करना याद रखें। अपना पूरा, अलग, और लॉग इन बैकअप बहाल करने का अभ्यास करें ताकि आपको पता चले कि आपके द्वारा डिजाइन किए गए काम की तरह ही सब कुछ है।

अगर आपके पास रखरखाव योजनाओं का उपयोग करने की योजना है, तो ऑनलाइन पुस्तकों में कुछ अच्छी जानकारी है, लेकिन यदि आप वास्तव में लचीलापन चाहते हैं, तो ओला हॉलेंग्रेन की बैकअप स्क्रिप्ट देखें


महान जवाब के लिए धन्यवाद। मुझे आपके लिए एक छोटा सा प्रश्न मिला है - क्या आप पूर्ण बैकअप से पहले भी अपने अनुक्रमितों का पुनर्निर्माण / पुनर्गठन करते हैं?
अतनमिर

हाँ पूर्ण बैकअप से पहले अच्छा विचार है। इस तरह से यदि आपका डेटाबेस विफल हो जाता है, तो पूर्ण बैकअप में पहले से ही सभी रेनडेक्स परिवर्तन शामिल होंगे।
पैट्रिक कीसलर

ज्यादातर मामलों में विफलता के बाद भी सक्रिय पूंछ लॉग का बैकअप लिया जा सकता है , इसलिए यदि आप केवल लॉग रोज बैकअप करते हैं, तो भी कार्य हानि जोखिम न्यूनतम है। यह कहा जा रहा है, आमतौर पर कोई कारण नहीं है कि इसे अक्सर वापस न करें।
जल्द ही जुड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.