SQL सर्वर में, Transact-SQL का उपयोग करते समय, डेटा फ़ाइल के आकार को कम करने के लिए इसे बढ़ाने के लिए एक अलग सिंटैक्स की आवश्यकता होती है। T-SQL का उपयोग करके फ़ाइल का आकार कम करने के लिए, DBCC SHRINKFILE
. का उपयोग करें कमांड, और डेटा फ़ाइल का नाम उस आकार के साथ प्रदान करें जिसे आप इसे कम करना चाहते हैं।
T-SQL का उपयोग करके SQL सर्वर में डेटा फ़ाइल के फ़ाइल आकार को कम करने के उदाहरण नीचे दिए गए हैं।
मूल उदाहरण
टी-एसक्यूएल का उपयोग करके डेटा फ़ाइल के आकार को कम करने का एक मूल उदाहरण यहां दिया गया है:
USE Solutions; GO DBCC SHRINKFILE (Solutions_dat_2, 5); GO
यह शायद काफी आत्म-व्याख्यात्मक है। सबसे पहले, हम उस डेटाबेस पर स्विच करते हैं जिसकी डेटा फ़ाइल हम बदलना चाहते हैं। फिर हम DBCC SHRINKFILE
. का उपयोग करते हैं यह निर्दिष्ट करने के लिए कि कौन सी डेटा फ़ाइल, और किस फ़ाइल आकार को इसे कम करना है। यह एमबी में है, इसलिए हमारा उदाहरण इसे घटाकर 5 एमबी कर देगा।
इसे डिफ़ॉल्ट फ़ाइल आकार में कम करें
यदि आप फ़ाइल आकार निर्दिष्ट नहीं करते हैं, तो फ़ाइल अपने डिफ़ॉल्ट आकार में कम हो जाएगी। डिफ़ॉल्ट आकार वह आकार है जो फ़ाइल बनाते समय निर्दिष्ट किया गया था।
उदाहरण:
USE Solutions; GO DBCC SHRINKFILE (Solutions_dat_2); GO
डेटा फ़ाइल को छोटा करें
आप TRUNCATEONLY
. का उपयोग करके डेटा फ़ाइल को छोटा कर सकते हैं तर्क।
यहां एक उदाहरण दिया गया है:
USE Solutions; GO DBCC SHRINKFILE ('Solutions', TRUNCATEONLY); GO
डेटा फ़ाइल खाली करें
आप EMPTYFILE
. का उपयोग करके किसी डेटा फ़ाइल को खाली भी कर सकते हैं तर्क।
उदाहरण:
DBCC SHRINKFILE (Solutions2, EMPTYFILE); GO
यह निर्दिष्ट फ़ाइल से सभी डेटा को उसी फ़ाइल समूह में अन्य फ़ाइलों में माइग्रेट करता है। इसलिए, आपको यह सुनिश्चित करने की आवश्यकता होगी कि यह फ़ाइल समूह में एकमात्र फ़ाइल नहीं है (अन्यथा आपको एक त्रुटि मिलेगी)। EmptyFile आपको यह भी आश्वासन देता है कि फ़ाइल में कोई नया डेटा नहीं जोड़ा जाएगा।
एक बार जब आप फ़ाइल को खाली कर देते हैं, तो आप इसे हटा सकते हैं यदि आप यही करना चाहते हैं। यहाँ खाली फ़ाइल को निकालने का एक उदाहरण दिया गया है:
ALTER DATABASE Solutions REMOVE FILE Solutions2; GO
और हम निम्न को चलाकर जांच सकते हैं कि इसे हटा दिया गया है:
USE Solutions; GO SELECT file_id, name, type_desc, physical_name, size, max_size FROM sys.database_files ; GO