क्या लेनदेन लॉग स्वचालित रूप से SQL सर्वर में सिकुड़ जाएगा?


10

जब एक SIMPLE मोड में SQL सर्वर डेटाबेस, आपको लेन-देन लॉग bakcups के बारे में परवाह नहीं है। लेकिन एक SIMPLE मोड में, लेन-देन लॉग बढ़ने लगता है क्योंकि यह FULL मोड में है। क्या किसी समय बिंदु पर स्वचालित रूप से काट दिया जाता है? या क्या मुझे इसे मैन्युअल रूप से छोटा / छोटा करना है?

जवाबों:


19

यह स्वचालित रूप से छोटा हो जाएगा लेकिन सिकुड़ने के लिए बहुत अलग है। पुन: उपयोग के लिए ट्रंकेशन पुनः लॉग इन करता है, भौतिक रूप से सिकुड़ते हुए ओएस के लिए अंतरिक्ष को वापस करने के लिए फ़ाइल का आकार कम कर देता है। यदि आपका लॉग अपने वर्तमान आकार में बढ़ गया है तो संभावना है कि यदि आप इसे सिकोड़ते हैं तो यह फिर से बढ़ेगा।

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

SELECT 
     db.[name] AS [Database Name]
   , db.recovery_model_desc AS [Recovery Model]
   , db.log_reuse_wait_desc AS [Log Reuse Wait Description]
   , ls.cntr_value AS [Log Size (KB)]
   , lu.cntr_value AS [Log Used (KB)]
   , CAST(
        CAST(lu.cntr_value AS FLOAT) / CAST(ls.cntr_value AS FLOAT) 
        AS DECIMAL(18,2)
     ) * 100 AS [Log Used %]
   , db.[compatibility_level] AS [DB Compatibility Level]
   , db.page_verify_option_desc AS [Page Verify Option]
   , db.is_auto_create_stats_on, db.is_auto_update_stats_on
   , db.is_auto_update_stats_async_on, db.is_parameterization_forced
   , db.snapshot_isolation_state_desc, db.is_read_committed_snapshot_on
FROM sys.databases AS db
   INNER JOIN sys.dm_os_performance_counters AS lu 
     ON db.name = lu.instance_name
   INNER JOIN sys.dm_os_performance_counters AS ls 
     ON db.name = ls.instance_name
WHERE lu.counter_name LIKE N'Log File(s) Used Size (KB)%' 
   AND ls.counter_name LIKE N'Log File(s) Size (KB)%'
   AND ls.cntr_value > 0 
OPTION (RECOMPILE);

लेन-देन लॉग ट्रंकेशन लॉग ट्रंकेशन कब और क्यों दोनों का वर्णन करता है।

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

लॉग लॉग ट्रंकेशन में देरी करने वाले कारक यह समझने के लिए एक उपयोगी संदर्भ है कि आपका लॉग क्यों छोटा हो सकता है और इसलिए अपेक्षा से बड़ा हो सकता है।


4

नहीं और नहीं

  • यह सिकुड़ या कम नहीं होगा (भौतिक LDF अर्थ में, यह तार्किक रूप से करेगा)
  • यह आकार की जरूरत है ताकि आप इसे छोटा न करें

यदि आप इसे सिकोड़ते हैं, तो यह फिर से बढ़ेगा और आपके पास एक खंडित फ़ाइल होगी


0

जैसा कि पहले उल्लेख किया गया है, नहीं, यह स्वचालित रूप से खुद को छोटा नहीं करेगा। यह हालांकि कुछ कचरा साफ कर देगा।

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

जब से आप यह बता रहे हैं कि आप समय की वसूली में बिंदु चाहते हैं तो आपको पूर्ण बैकअप और बैकअप बैकअप करने की आवश्यकता है। जैसे ही आप अपना टॉगल बैकअप पूरा करते हैं, यह लॉग की सामग्री (पूंछ के अंत के अलावा) को फ्लश करेगा और शुरू हो जाएगा।

यदि आप इन फ़ाइलों को कंटेनर के रूप में सोचते हैं तो यह मदद कर सकता है।

मेरा सुझाव यह है कि यदि टॉगल बड़े और असहनीय हो गए हैं, तो एक पूर्ण बैकअप काट लें। में स्विच करें सरल मॉडल की वसूली और हटना tlog फ़ाइल। पूर्ण पुनर्प्राप्ति मॉडल पर वापस लौटें और विखंडन रखरखाव * करें। जैसे दूसरों ने पोस्ट किया है यह प्रथाओं का सबसे अच्छा नहीं है और इससे विखंडन के उच्च स्तर को बढ़ावा मिलेगा।

योजना बनाएं और उसके बाद एक बैकअप शासन शुरू करें।


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

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