सरल रिकवरी पर स्विच करते समय लेन-देन लॉग रखरखाव


9

पृष्ठभूमि:

मुझे हाल ही में 450+ डेटाबेस के साथ 50+ SQL सर्वर विरासत में मिला है। रात के बैकअप लगभग 8TB हैं और, कहने की जरूरत नहीं है, हम जितना चाहें उससे अधिक डिस्क स्थान का उपयोग कर रहे हैं। सभी डेटाबेस पूर्ण पुनर्प्राप्ति के लिए सेट किए गए हैं और लेनदेन लॉग का बैकअप कभी नहीं लिया गया है। मैंने सभी एसक्यूएल सर्वरों के माध्यम से जाना है और कम प्राथमिकता वाले लोगों की पहचान की है जिन्हें केवल एक रात के बैकअप की आवश्यकता होती है और जहां एक दिन का डेटा हानि स्वीकार्य है।

सवाल:

मैं SIMPLEपुनर्प्राप्ति मोड से बहुत कम प्राथमिकता वाले डेटाबेस स्विच कर रहा हूं FULL। क्या मौजूदा लेन-देन लॉग को काट दिया जाएगा (जब चौकियों का निर्माण होता है)? कुछ मौजूदा लेनदेन लॉग 50-100GB हैं; आगे बढ़ने के उद्देश्यों के लिए मुझे क्या निर्धारित करना चाहिए, यह निर्धारित करने में सबसे अच्छा तरीका क्या है? मैं स्पष्ट रूप से उन्हें इतना बड़ा नहीं रखना चाहता। या, क्या वे समय के साथ अपने आप सिकुड़ जाएंगे (मुझे नहीं लगता कि वे करेंगे)?

जवाबों:


2

से स्विच करने से पहले FULLकरने के लिए SIMPLEवसूली मॉडल, अपने आप से पूछना कि आप कितना डेटा खोने के लिए बर्दाश्त कर सकते हैं। उन डेटाबेसों के लिए जहां आपदा के मामले में आप अंतिम डेटाबेस बैकअप को बहाल करने के साथ ठीक हैं, ठीक SIMPLEहोना चाहिए। यदि ऐसा नहीं है, तो साथ रहें FULL

LDFफ़ाइल को यथासंभव छोटे आकार में सिकोड़ने के लिए, किम्बर्ली ट्रिप द्वारा दिए गए चरणों का पालन करें: बेहतर ट्रांसपोर्ट लॉग इन करें के लिए 8 कदम

  1. उस समय के लिए प्रतीक्षा करें जब डेटाबेस पर कम गतिविधि हो

  2. SSMS में चलाएं:

    DBCC SHRINKFILE(transaction_log_logical_filename, TRUNCATEONLY)
  3. लेन-देन लॉग फ़ाइल का आकार संशोधित करें:

    ALTER DATABASE db_name
    MODIFY FILE ( NAME = transaction_log_logical_filename, SIZE = new_size)
    

1
मैं SHRINK लॉग फ़ाइलों का सुझाव नहीं दूंगा क्योंकि यह वीएलएफ विखंडन का कारण बनेगा और लॉग बढ़ते हुए पूरे डेटाबेस कार्यभार को रोक दिया जाएगा, क्योंकि लेन-देन लॉग फ़ाइल तत्काल प्रारंभ का उपयोग नहीं कर सकती है
परिजन शाह

9

मैं फुल रिकवरी मोड (T-Logs और पॉइंट-इन-टाइम रिकवरी आवश्यक नहीं है) से बहुत सारे डेटाबेस को SIMPLE रिकवरी मोड में स्विच कर रहा हूं। क्या मौजूदा लेन-देन लॉग को काट दिया जाएगा (जब चौकियों का निर्माण होता है)?

सरल वसूली मॉडल में, डेटाबेस इंजन स्वत: चौकियों जारी करेगा और इसकी आवृत्ति से निर्धारित होता है वसूली अंतराल (उन्नत सर्वर config सेटिंग) या लॉग 70% पूर्ण हो जाता है।

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

मौजूदा लेन-देन लॉग में से कुछ 50-100GB हैं, आगे बढ़ने के प्रयोजनों के लिए मुझे जो कुछ उन्हें नीचे हटना चाहिए, उसे निर्धारित करने में सबसे अच्छा तरीका क्या है। मैं स्पष्ट रूप से उन्हें इतना बड़ा नहीं रखना चाहता।

यदि आपके पास डेटाबेस रिकवरी मॉडल 50-100GBs के टी-लॉग के साथ उन डेटाबेस के लिए पूर्ण करने के लिए सेट है, तो आपको लगातार टी-लॉग बैकअप करना शुरू करना होगा। पूर्ण पुनर्प्राप्ति मॉडल में याद रखें, एक बार एक लॉग बैकअप श्रृंखला स्थापित हो जाने के बाद, यहां तक ​​कि स्वचालित चौकियों को लॉग को कम करने का कारण नहीं होगा।

अंतिम उपाय के रूप में, आप लॉग फ़ाइल को छोटा कर सकते हैं और फिर तुरंत पूर्ण बैकअप ले सकते हैं और फिर टी-लॉग बैकअप लेना शुरू कर सकते हैं, ताकि यदि कोई आपदा होती है तो आप पॉइंट-इन-टाइम रिकवरी कर सकें।

या, वे अपने स्वयं के अधिक समय पर हटना होगा (मुझे नहीं लगता कि वे करेंगे)?

जैसा @TomTom ने बताया, इसका एक मैनुअल ऑपरेशन है।

पढ़ो :


2

बहुत से प्रश्न हमारे द्वारा उत्तर नहीं दिए जा सकते हैं। तार का एक टुकड़ा कितना लंबा है?

मौजूदा लेन-देन लॉग में से कुछ 50-100GB हैं, आगे बढ़ने के प्रयोजनों के लिए मुझे जो कुछ उन्हें नीचे हटना चाहिए, उसे निर्धारित करने में सबसे अच्छा तरीका क्या है।

जब तक वे होने की जरूरत है। मैं कोई सिकुड़ने का सुझाव देता हूं। Trunacate लॉग, एक सप्ताह में वापस आते हैं और देखते हैं कि कितना स्थान का उपयोग किया जाता है, यह निर्णय लेते हैं। लेकिन आपको इसका जवाब देना होगा।

हर रात को बैकअप मोटे तौर पर कर रहे हैं 8TB और कहने के लिए, हम और अधिक डिस्क स्थान की तुलना में हम चाहते हैं का उपयोग कर रहे अनावश्यक।

तो उन्हें सरल क्यों करें? मेरा मतलब है, गंभीरता से।

सभी डेटाबेस पूर्ण पुनर्प्राप्ति के लिए सेट किए गए हैं और लेनदेन लॉग का बैकअप कभी नहीं लिया गया है।

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

मैंने सभी एसक्यूएल सर्वर के माध्यम से जाना है और कम प्राथमिकता वाले लोगों की पहचान की है जो केवल एक रात के बैकअप की जरूरत है और एक आपदा में भी डेटा हानि के एक दिन के मूल्य की समस्या नहीं होगी (फैक्स डेटाबेस और उस तरह की चीजें)।

हाँ। जब तक आप अदालत में समाप्त नहीं हो जाते हैं और महत्वपूर्ण कानूनी दस्तावेज नहीं होने के लिए अपना गधा सौंप देते हैं। क्या आप जानते हैं कि फ़ैक्स लॉग अच्छी तरह से उस हिस्से का हिस्सा हो सकता है जिसे आपको व्यापार से संबंधित जानकारी के रूप में वर्षों तक रखने की आवश्यकता होती है? यह मेरे अधिकार क्षेत्र (10 वर्ष) में ऐसा है। यदि आप यू स्टॉक कंपनी हैं तो समान आश्चर्य (SOX) हो सकता है। ऐसा करने में विफलता आपको अदालत में बहुत बुरा बनाती है यदि आप साबित करना चाहते हैं कि आपको फैक्स नहीं मिला है। या एक भेजा। कोई भी परवाह नहीं करता है कि यह मासिक रूप से हुआ और आपके पास अधिक हाल के लॉग हैं - आप कानून की आवश्यकताओं को विफल करते हैं। सुनिश्चित करें कि यह किसी उच्च व्यक्ति द्वारा हस्ताक्षरित है, क्योंकि आपका व्यवसाय महत्वपूर्ण नहीं है, आपके फायरिंग का कारण हो सकता है।

या, वे अपने स्वयं के अधिक समय पर हटना होगा (मुझे नहीं लगता कि वे करेंगे)?

नहीं। और उन्हें ऐसा नहीं करना चाहिए। कम वॉल्यूम डेटाबेस को छोड़कर लॉग री-साइजिंग एक मैन्युअल ऑपरेशन है।


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