2010-12-09 10 views

उत्तर

14

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

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

अपने डेटाबेस लॉगिंग को सरल में सेट करने के लिए (लेकिन केवल तभी जब आप अपने डेटाबेस के पूर्ण बैकअप करते हैं!)।

  1. सही अपने डेटाबेस पर क्लिक
  2. चुनें गुण
  3. विकल्प चुनें
  4. सेट रिकवरी मोड सरल

डेटाबेस लॉग फ़ाइल ट्रिम करने के लिए निम्न कार्य करना चरण:

अपने डेटाबेस फ़ाइल (MDF) के भौतिक नाम प्राप्त करें और लॉग फ़ाइल (एलडीएफ): भागो निम्नलिखित प्रणाली संग्रहीत प्रक्रिया:

use <yourdatabasename> 
exec sp_helpfile 

यह आदेश विभिन्न प्रकार की जानकारी वापस आ जाएगी शारीरिक आकार सहित, (size कॉलम) और आपके डेटाबेस का पथ और नाम और लॉग फाइलें (filename कॉलम में)।

रिकॉर्ड "फ़ाइल नाम" colunm से फ़ाइल, पथ और फ़ाइल एक्सटेंशन को छोड़कर के नाम (उदाहरण के लिए फ़ाइल नाम शामिल है C:\sqldatabases\yourdatabase_data.mdf आप स्ट्रिंग yourdatabase_data सहेजना चाहते)

डेटाबेस काटें और डेटाबेस हटना एसक्यूएल के निम्नलिखित सेट में आपके डेटाबेस और truncate लॉग फ़ाइल को कम कर दिया जाएगा। < से घिरे परमिटर्स में फ़ाइल ...>। ध्यान दें कि आप कदम 1.

USE <yourdatabasename> 
GO 
BACKUP LOG <yourdatabasename> WITH TRUNCATE_ONLY 
GO 
DBCC SHRINKFILE (<yourdatabaselogfilename>, 1) 
GO 
DBCC SHRINKFILE (<yourdatabasedatafilename>, 1) 
GO 
exec sp_helpfile 
+7

इस उत्तर (SQL सर्वर सर्वर 2008 के साथ) अप्रचलित है से दो filename मूल्यों की आवश्यकता होगी। ट्रंकेट के साथ बैकअप केवल काम नहीं करता है। 2008 के लिए आप डीबीसीसी SHRINKFILE ('exampleDB_log', 0, TRUNCATEONLY) – mhenry1384

+0

अभी भी पूरी तरह से उत्तर देने के लिए +1 करना चाहते हैं। आपकी सहायक टिप्पणी के लिए भी +1। –

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