सिकोड़ें डेटाबेस और फ़ाइल के बीच अंतर क्या है?


जवाबों:


36

सीधे शब्दों में ...

  • DBCC ShrinkDatabase(): सभी फाइलें सिकोड़ें
  • DBCC ShrinkFile(): बस एक फाइल

उदाहरण के लिए, आपके पास लॉग बैकअप समस्या हो सकती है और यह आपके नियंत्रण से बाहर हो जाता है, इसलिए आप चलाते हैं DBCC ShrinkFile()

आप लगभग कभी उपयोग नहीं करते हैं ShrinkDatabase

इससे पहले कि आप या तो कमांड का उपयोग करने पर विचार करें, कृपया पॉल रैंडल के ब्लॉग को सिकुड़ने पर पढ़ें ।

जब तक कोई स्पष्ट कारण नहीं था, मैं उनमें से किसी भी फाइल (mdf, ldf) को छोटा नहीं करूँगा। फाइलें उनके आकार की होती हैं क्योंकि उन्हें होना चाहिए। नियमित रखरखाव के हिस्से के रूप में ऐसा करने का सुझाव देने वाला कोई भी ब्लॉग शायद यह नहीं समझता है कि SQL सर्वर कैसे काम करता है।


2
धन्यवाद दोस्त। तुम सही हो। मैं सिर्फ ब्रेंट ओजर ब्लॉग पढ़ता हूँ .. वह सचमुच अपने ब्लॉग में शपथ ले रहा है "अपने डेटाबेस फ़ाइलों को सिकोड़ना बंद करो। ईमानदारी से। अब।"

और जब वही कर रहा है, तो अलग-अलग तर्क क्यों हैं?
स्टेफन स्टाइनगर

2

एक डिफ़ॉल्ट डेटाबेस में दो फाइलें होती हैं

MyDb.MDF और MyDb.LDF

एमडीएफ फ़ाइल वह डेटा फ़ाइल है जहां प्राथमिक विभाजन रहता है। अपनी आवश्यकताओं के आधार पर, आप एक डेटाबेस को कई फाइलों में विभाजित कर सकते हैं। ऐसा इसलिए किया जाता है ताकि डेटा (सिंगल या मल्टीपल टेबल) एक से अधिक प्रदर्शन हासिल करने के लिए आमतौर पर अलग-अलग हार्ड ड्राइव पर रखी गई कई फाइलों को फैला सकें।

यदि आप किसी डेटाबेस को सिकोड़ते हैं, तो उस डेटाबेस से जुड़ी सभी फाइलें सिकुड़ जाएंगी।

यदि आप किसी फ़ाइल को सिकोड़ते हैं, तो केवल चुनी गई फ़ाइल सिकुड़ जाएगी।

आपको केवल Shrink Database कमांड का उपयोग करने की आवश्यकता है। लेकिन यह आमतौर पर ऐसा करने के लिए एक अच्छा अभ्यास नहीं है और यह एक अनुशंसित अभ्यास भी नहीं है।

यदि आप हमें बताते हैं कि समस्या क्या है जो आप अनुभव कर रहे हैं, तो हम आपको इसे हल करने के तरीके के बारे में अधिक जानकारी दे सकते हैं।


ओह..आज हमारा प्रोडक्शन सर्वर डिस्क स्थान से बाहर चल रहा है। अधिक डिस्क जोड़ना आदर्श है लेकिन मैं सोच रहा था कि हम और क्या कर सकते हैं?

0

सबसे अधिक संभावना है कि हम केवल dbcc संकोचन का उपयोग करते हैं। sp_helpdb 'databasename' डेटाबेस में डेटा और लॉग फ़ाइलों की सूची प्रदान करता है।

mnagement स्टूडियो पर राइट क्लिक करें, टास्क-> सिकोड़ें-> फाइल यह बताती है कि आप कितने% सिकुड़ सकते हैं।

हम कभी भी सिकुड़ते हैं, यह डिस्क पर वापस खाली जगह के रूप में उपलब्ध है।

उदाहरण के लिए: 'databasename' का उपयोग करें dbcc सिकुड़ा हुआ (फाइलिड, 100)

यहां 100 एमबी है

fileid sp_helpdb 'databasename' से प्राप्त कर सकते हैं

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