मुझे एक SQL सर्वर 2005 dev डेटाबेस मिला है जो लाइव की 30GB प्रति है। हमने कुछ डेटा को नष्ट कर दिया है जिसकी आवश्यकता dev में नहीं है, जो डेटा फ़ाइल स्थान को 20GB तक उपयोग में लाता है। इसलिए हमारे पास लगभग 33% अप्रयुक्त हैं।
मुझे अंतरिक्ष को पुनः प्राप्त करने की आवश्यकता है, जो हमें सर्वर पर दूसरी देव डीबी (कट डाउन संस्करण के आधार पर) की अनुमति देगा; हालाँकि, मैं स्थान को पुनः प्राप्त नहीं कर सकता, मैंने निम्नलिखित कार्य किए हैं:
फ़ाइल
SMS2_Data
का प्रारंभिक आकार 30GB है।DBCC SHRINKFILE (N'SMS2_Data' , 0, TRUNCATEONLY)
के बाद
DBCC SHRINKFILE (N'SMS2_Data' , 19500)
कोई आनंद नहीं है। मैंने एक बैकअप बनाने की कोशिश की है, कम प्रारंभिक आकार के साथ एक नया डीबी बना रहा है, फिर बहाल करना, कोई खुशी नहीं क्योंकि प्रारंभिक आकार ओवरराइट हो जाता है। कोशिश भी की:
ALTER DATABASE SMS2HazSub MODIFY FILE (NAME = 'SMS2_Data', SIZE = 20000)
यह गलत है, कह रही है:
आधुनिक फ़ाइल विफल। निर्दिष्ट आकार वर्तमान आकार से कम है।
मैंने 20800 की कोशिश की और फिर 29000 (29GB) तक टिल जाता रहा और यह अब भी मुझे इसे बदलने नहीं देगा।
हटना किया है तो फिर से और वापस FULL
करने के लिए वसूली मोड बदल दिया है SIMPLE
। कोई आनंद नहीं है।
मुझे लगा कि यह कुछ TEXT
क्षेत्रों के साथ करना है । हमारे पास सिस्टम में लगभग 6 हैं। इसलिए एक परीक्षण के रूप में मैंने उन सभी को गिरा दिया और फिर फ़ाइल को सिकोड़ दिया और फिर भी कोई बदलाव नहीं हुआ।
एकमात्र विकल्प बचा है कि डेटा को दूसरे DB में फिर से जोड़ दिया जाए। यह व्यावहारिक नहीं है, क्योंकि इसे लाइव डीबी पर करना होगा, जिसमें बहुत अधिक जोखिम होता है। हम नियमित रूप से लाइव डीबी की एक प्रति हड़प लेते हैं और देव / परीक्षण को अधिलेखित कर देते हैं। हमारे पास 500 तालिकाओं जैसा कुछ है। मैं ऐसा करने का एक तरीका चाहूंगा जिसमें डेटा को नए DB में निर्यात करने का जोखिम न हो।
मैंने डेटा को किसी अन्य फ़ाइल में ले जाने का प्रयास किया, और उसने सभी 5% डेटा की प्रतिलिपि बनाई। यह वही है जो मुझे सभी पाठ कॉलमों को आज़माने और छोड़ने के लिए प्रेरित करता है।
सर्वर संगतता मोड 90 पर है, लेकिन SP2 है। मैंने अब निम्न 3 बार किया है: सभी तालिकाओं, बैकअप डेटाबेस, फ़ाइल हटना, डेटाबेस सिकोड़ें। फिर भी कोई खुशी नहीं।
EXECUTE sp_spaceused
रिटर्न:
database_name database_size unallocated space
SMS2Tests 31453.94 MB 13903.16 MB
reserved data index_size unused
16545568 KB 10602264 KB 4254360 KB 1688944 KB