एसक्यूएल सर्वर (2005/2008): पूर्ण बैकअप को लॉग इन पूर्ण रिकवरी मोड में करता है


41

मैंने अभी बहुत सारे MSDN प्रलेखन के माध्यम से पढ़ा है और मुझे लगता है कि मैं विभिन्न पुनर्प्राप्ति मॉडल और बैकअप श्रृंखला की अवधारणा को समझता हूं। मेरा अभी भी एक सवाल है:

क्या एक पूर्ण डेटाबेस बैकअप लेन-देन लॉग (पूर्ण पुनर्प्राप्ति मोड का उपयोग करके) को काट देता है?

  • यदि हाँ: MSDN में इसका उल्लेख कहाँ किया गया है? मुझे बस इतना पता चला कि केवल बैक लॉग लॉग लॉग करता है।

  • यदि नहीं: क्यों? चूंकि एक पूर्ण डेटाबेस बैकअप एक नई बैकअप श्रृंखला शुरू करता है, लॉग में पूर्ण बैकअप सक्रिय होने से पहले लेनदेन किए गए लेनदेन को रखने में क्या बात है ?

जवाबों:


43

नहींं - यह निश्चित रूप से नहीं करता है। केवल बात यह है कि पूर्ण या BULK_LOGGED वसूली मॉडल में स्पष्ट / काटना लॉग अनुमति देता है एक लॉग बैकअप है - कोई अपवाद नहीं। मेरे पास कुछ समय पहले यह तर्क था और एक लंबी और विस्तृत ब्लॉग पोस्ट को एक स्पष्टीकरण और एक स्क्रिप्ट के साथ पोस्ट किया गया था जिसका उपयोग आप लॉग इन और लॉग बैकअप के आसपास गलतफहमी में खुद को साबित करने के लिए कर सकते हैं : खुद को कैसे समझाएं

अधिक प्रश्नों के साथ अनुवर्ती करने के लिए स्वतंत्र महसूस करें। Btw - मैं TechNet पत्रिका के लिए लिखे गए लंबे लेख को SQL सर्वर में अंडरस्टैंडिंग लॉगिंग और रिकवरी के लिए भी देखता हूं ।

धन्यवाद


आपके सुपर एंकर और लेख के लिए बहुत बहुत धन्यवाद सर, इसने मेरे मन में एक लाख सवालों का जवाब दिया है।
M.Ali

13

एक पूर्ण बैकअप लॉग को छोटा नहीं करता है, आपको बैकअप लॉग ऑपरेशन करना होगा। एक पूर्ण बैकअप लॉग श्रृंखला को फिर से सेट नहीं करता है - जो प्रतिकृति / लॉग शिपिंग आदि को पूरी तरह से खराब कर देगा।

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

http://msdn.microsoft.com/en-us/library/ms175477.aspx


8

मेरी समझ से केवल एक चीज जो लेन-देन लॉग को काटती है वह लॉग बैकअप है

एक पूर्ण बैकअप केवल लॉग की पर्याप्त प्रतिलिपि बनाता है ताकि यह लेन-देन के अनुरूप हो, क्योंकि बैकअप ऑपरेशन को पूरा करने में कुछ समय लगता है और उस समय में, कॉपी किए गए पृष्ठ बदल सकते हैं।

आप अभी भी समय वसूली में बिंदु के लिए अपने लॉग बैकअप की जरूरत है।

मेरे पास लिंक करने के लिए MSDN नहीं है, लेकिन मैं आपको पॉल रान्डल के ब्लॉग से जोड़ सकता हूँ , जो SQL Server टीम के एक डेवलपर थे, ने DBCC CHECKDB और Books Online के कुछ हिस्सों को लिखा था।

वह इस मंच पर सवालों के जवाब भी देता है, इसलिए यह उससे भी बेहतर प्राधिकरण होगा, जो मुझसे दूसरा / तीसरा हाथ जानकारी रखता है :)


5

लोग अक्सर पूर्ण बैकअप और लॉग बैकअप के बारे में गलत धारणा रखते हैं। बैकअप के लिए FULLबैकअप रिकवरी मॉडल में काम करने के लिए , टी-लॉग का उपयोग किया जाना चाहिए, क्योंकि बैकअप के दौरान डेटाबेस में लेन-देन अभी भी हो सकता है (जब तक कि आप COLDडेटाबेस को बंद करते समय तथाकथित बैकअप नहीं करते हैं)। जब आप ARCHIVELOGमोड में डेटाबेस रखते हैं, तो Oracle उसी अवधारणा का उपयोग करता है। बैकअप का क्रम इस पर उबलता है:

  1. बैकअप शुरू करें - वास्तविक फ़ाइलों में सभी कार्यों को स्थगित करें और टी-लॉग्स पर लिखें।
  2. बैकअप लें - सभी लेन-देन जारी रहें, लेकिन वास्तविक फ़ाइलों को नहीं लिखा जाता है, वे टी-लॉग में लिखे जाते हैं
  3. अंतिम बैकअप - वास्तविक फ़ाइलों के लिए डेटाबेस लेनदेन लिखना फिर से शुरू करें।
  4. यदि आवश्यक फ्लश है तो वास्तविक फ़ाइलों में टी-लॉग में क्या है।

यही कारण है कि टी-लॉग डिफ़ॉल्ट रूप से छोटा / सिकुड़ा हुआ नहीं है, क्योंकि वे बैकअप चरण के दौरान लेनदेन निरंतरता का एक महत्वपूर्ण हिस्सा हैं।


1

लॉग को सिकोड़ने के साथ लॉग को छोटा करना भ्रमित न करें।

  • TRUNCATE को अंतिम चेकपॉइंट से पहले लॉग में लेन-देन को दूर करना है, (चेकपॉइंट तब हो रहा है जब लेन-देन डेटाबेस में ही प्रवाहित हो जाते हैं)। यह BACKUP कमांड का उपयोग करके किया जाता है।

  • SHRINK करने के लिए लॉग वास्तविक लॉग फ़ाइल आकार को कम करना है। यह DBCC कमांड्स का उपयोग करके किया जाता है।


1

मूल रूप से आपको हर बार ट्रांजेक्शन लॉग ऑटोमैटिकली को सिकोड़ने की आवश्यकता नहीं है क्योंकि लेन-देन लॉग को काम करने के लिए जगह की आवश्यकता होती है और यदि आप ऑटोमैटिकली को काटते हैं तो यह लगभग एक ही आकार का रहेगा।

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