2009-08-09 17 views
8

मैंने देखा है कि हमारे डेटाबेस में पूर्ण रिकवरी मॉडल है और इसमें 3 जीबी लेनदेन लॉग है।एक बड़ा लेनदेन लॉग प्रदर्शन को कैसे प्रभावित करता है?

चूंकि लॉग बड़ा हो जाता है, यह डेटाबेस के प्रदर्शन और डेटाबेस तक पहुंचने वाले अनुप्रयोगों के प्रदर्शन को कैसे प्रभावित करेगा?

जद

+0

एक भ्रामक शीर्षक है कि:

यहाँ एक लेख से पता चलता है कि यह कैसे तय करने के लिए है। मुझे यकीन है कि यह सिर्फ एक टाइपो है, लेकिन "बड़ा लेनदेन" और "बड़ा लेनदेन लॉग" काफी अलग चीजें हैं क्योंकि मुझे यकीन है कि आप जानते हैं! –

उत्तर

7

अनुशंसित सर्वोत्तम अभ्यास एक SQL सर्वर लेनदेन लॉग फ़ाइल को अपनी 'अपनी डिस्क या LUN असाइन करना है।

डिस्क पर लेनदेन लॉग फ़ाइल के विखंडन से बचने के लिए, जैसा कि अन्य पोस्टर्स ने उल्लेख किया है, और डिस्क विवाद से बचने/कम करने के लिए भी है।

आदर्श परिदृश्य है कि आपका डीबीए समय से पहले अपने डेटाबेस वातावरण के लिए पर्याप्त लॉग स्थान आवंटित करे, यानी एक बार में एक्स जीबी डेटा आवंटित करने के लिए। एक समर्पित डिस्क पर यह एक संगत आवंटन बनाएगा, जिससे विखंडन से परहेज किया जा सकेगा।

यदि आपको अपना लेनदेन लॉग बढ़ाना है, तो आपको फिर से आवंटित करने का प्रयास करने के लिए बड़े पैमाने पर ऐसा करने का प्रयास करना चाहिए।

आपको अपनी लेनदेन लॉग फ़ाइल को कम करने की भी आवश्यकता नहीं है, क्योंकि बार-बार सिकुड़ने और ऑटो वृद्धि डिस्क पर डेटा फ़ाइल के विखंडन का कारण बन सकती है।

मुझे ऑटोग्रोथ डेटाबेस प्रॉपर्टी को असफलता के रूप में सोचने के लिए सबसे अच्छा लगता है यानी आपके डीबीए को लेनदेन लॉग स्पेस (शायद अलर्ट सेट अप करके) पर सक्रिय रूप से निगरानी करनी चाहिए ताकि वे आपके डेटाबेस उपयोग का समर्थन करने के लिए लेनदेन लॉग फ़ाइल आकार को बढ़ा सकें आवश्यकताएं, लेकिन ऑटोग्रोथ प्रॉपर्टी यह सुनिश्चित करने के लिए हो सकती है कि आपका डेटाबेस सामान्य रूप से परिचालन जारी रखे, अप्रत्याशित वृद्धि होनी चाहिए।

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

0

लॉग खंडित या इसे नीचे आवेदन धीमी हो जाएगी बढ़ने की जरूरत है हो जाता है।

0

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

1

कुछ तरीकों से।

यदि आपका सिस्टम लेनदेन लॉग को स्वतः बढ़ाने के लिए कॉन्फ़िगर किया गया है, क्योंकि फ़ाइल अधिक हो जाती है, तो आपके SQL सर्वर को और अधिक काम करने की आवश्यकता होगी और आप संभावित रूप से धीमे हो जाएंगे। जब आप अंततः अंतरिक्ष से बाहर निकलते हैं, तो आप भाग्य से बाहर हैं और आपका डेटाबेस नए लेन-देन करना बंद कर देगा।

आपको अपने डीबीए (या शायद आप डीबीए हैं) के साथ प्राप्त करने की आवश्यकता है और लगातार, आवधिक लॉग बैकअप करते हैं। उन्हें अपने सर्वर से किसी अन्य समर्पित बैकअप सिस्टम पर सहेजें। जैसे ही आप लॉग का बैक अप लेते हैं, आपकी मौजूदा लॉग फ़ाइल में स्थान पुनः दावा किया जाएगा, लॉग को बहुत बड़ा होने से रोक दिया जाएगा। लेन-देन लॉग का बैक अप लेने से आप अपने अंतिम पूर्ण या अंतरिम बैकअप के बाद अपने डेटाबेस को एक विशिष्ट बिंदु पर पुनर्स्थापित कर सकते हैं, जो सर्वर विफलता की स्थिति में आपके डेटा नुकसान में काफी कटौती करता है।

0

यदि लॉग फ़ाइल छोटे चरणों में बड़ी वृद्धि करती है तो आप वर्चुअल लॉग फ़ाइलों के साथ समाप्त हो जाएंगे ये वर्चुअल लॉग फ़ाइलें डेटाबेस स्टार्टअप, पुनर्स्थापित और बैकअप ऑपरेशंस को धीमा कर देगी। http://www.sqlserveroptimizer.com/2013/02/how-to-speed-up-sql-server-log-file-by-reducing-number-of-virtual-log-file/

संबंधित मुद्दे