SQL 2005: क्या हम यह निर्धारित कर सकते हैं कि डेटाबेस लॉग फ़ाइलों को पुन: अनुक्रमणिका अनुरक्षण कार्य कितना बढ़ा सकता है?


10

SQL सर्वर 2005 पर, यदि सभी डेटाबेस फुल मोड में हैं (प्रति घंटा ट्रांजेक्शन लॉग बैकअप के साथ), तो क्या यह निर्धारित करना संभव है कि डेटाबेस के सभी इंडेक्स को फिर से बनाकर डेटाबेस की लॉग फ़ाइल को विकसित किया जा सकता है? और यह कितना बढ़ सकता है?

यदि कोई सीधा उत्तर नहीं है, तो किसी भी दिशा की वास्तव में सराहना की जाएगी।

अग्रिम में धन्यवाद।

जवाबों:


9

हां, आपको इस विषय पर उत्कृष्ट श्वेतपत्र देखना चाहिए, हालांकि यह ऑनलाइन इंडेक्स के पुनर्निर्माण को संदर्भित करता है, फिर भी इसमें बहुत अच्छी जानकारी है

http://technet.microsoft.com/en-us/library/cc966402.aspx

यदि लॉग फाइलें ऑटो बढ़ रही हैं तो आप कार्रवाई पूरा होने के बाद डिफ़ॉल्ट ट्रेस का उपयोग करके जानकारी पा सकते हैं।

DECLARE @filename VARCHAR(255) 
SELECT @FileName = SUBSTRING(path, 0, LEN(path)-CHARINDEX('\', REVERSE(path))+1) + '\Log.trc'  
FROM sys.traces   
WHERE is_default = 1;  

--Check if the data and log files auto-growed. Look for tempdb, log files etc.
SELECT 
    gt.ServerName
    , gt.DatabaseName
    , gt.TextData
    , gt.StartTime
    , gt.Success
    , gt.HostName
    , gt.NTUserName
    , gt.NTDomainName
    , gt.ApplicationName
    , gt.LoginName
FROM [fn_trace_gettable](@filename, DEFAULT) gt 
JOIN sys.trace_events te ON gt.EventClass = te.trace_event_id 
WHERE EventClass in ( 92, 93 ) --'Data File Auto Grow', 'Log File Auto Grow'
ORDER BY StartTime; 
--

7

यह केवल यह पता लगाना संभव नहीं है कि क्या सूचकांक डीडीएल संचालन लॉग फ़ाइल को बढ़ाता है, यह डिफ़ॉल्ट एक्शन लाइन है। सभी अनुक्रमणिका ऑपरेशन एक डेटाबेस में लॉग इन होते हैं जो पूर्ण पुनर्प्राप्ति मॉडल का उपयोग करता है।

मैं आपको MSDN पर निम्नलिखित लेख पढ़ने की सलाह दूंगा: इंडेक्स डिस्क स्पेस रिक्वायरमेंट्स का निर्धारण

तीसरे अध्याय से - उस लेख के सूचकांक संचालन के लिए लेनदेन लॉग डिस्क स्थान जिसे मैं उद्धृत करूंगा:

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

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