SQL सर्वर उपयोगकर्ता को "वॉल्यूम रखरखाव कार्यों को निष्पादित" करने के लिए जोड़ने से डेटाबेस के आकार में इतना सुधार होता है?


17

अगर मैं 5GB डेटाबेस बनाना चाहते हैं

CREATE DATABASE [test]
 CONTAINMENT = NONE
 ON  PRIMARY 
( NAME = N'test', FILENAME = N'E:\2012\test.mdf' , SIZE = 5529600KB , FILEGROWTH = 1024KB )
 LOG ON 
( NAME = N'test_log', FILENAME = N'E:\2012\test_log.ldf' , SIZE = 1024KB , FILEGROWTH = 10%)

मेरे एसएसडी पर 1 मिनट लगता है ।

लेकिन जब मैं SQL Server उपयोगकर्ता को जोड़ता हूं Perform volume maintenance tasks

यहाँ छवि विवरण दर्ज करें

यह केवल 1-2 सेकंड लेता है ।

ऐसा क्यों है? क्या कोई मुझे समझा सकता है कि इसके कारण क्या हैं?


4
क्या downvoters कृपया समझा सकते हैं कि downvotes क्यों ?? यह मेरे लिए एक ठीक सवाल की तरह लग रहा है।
थॉमस स्ट्रिंगर

जवाबों:


26

इसकी वजह है इंस्टेंट फाइल इनिशियलाइज़ेशन । संक्षेप में, SQL सर्वर डेटाबेस डेटा फ़ाइलों के लिए इस विशेषाधिकार का लाभ ले सकता है (लॉग फ़ाइलों का लेन-देन नहीं)। इसका मतलब यह है कि SQL सर्वर को प्रारंभ करते समय डेटा फ़ाइल (नों) को शून्य नहीं करना पड़ता है।

SQL सेवा खाते को दिए गए "वॉल्यूम मेंटेनेंस कार्यों को करें" विशेषाधिकार के बिना , डेटाबेस निर्माण पर SQL सर्वर को "test.mdf" और "test_log.ldf" को शून्य करना होगा।

"वॉल्यूम रखरखाव कार्य निष्पादित करें" विशेषाधिकार अनुमति सेट के साथ, SQL सर्वर को केवल "test_log.ldf" शून्य करना होगा। एक बहुत कम उपरि, इसलिए CREATE DATABASEआपके परीक्षण के लिए न्यूनतम अवधि ।

संदर्भ
कैसे और क्यों त्वरित फ़ाइल इनिशियलाइज़ेशन सक्षम करने के लिए
तुरंत इनिशियलाइज़ेशन - क्या, क्यों और कैसे?


यह सीम जो कि सुविधा है, भयानक है, लेकिन इसके लिए डिफ़ॉल्ट क्यों बंद है?
अहमद पेटलाकदार

1

यह .ldf फ़ाइलों (लॉग फ़ाइलों) को प्रभावित नहीं करेगा, कम से कम एमएस अनुच्छेद के अनुसार नहीं

क्यो ऐसा करें? गति

क्यों नहीं करते? संभावित सुरक्षा जोखिम। कोई व्यक्ति आपके बॉक्स में हैक कर सकता है और संभवत: नॉन-जीरोएड मेमोरी स्पेस पढ़ सकता है और उस डेटा को पुनः प्राप्त कर सकता है। छोटा जोखिम, लेकिन फिर भी एक जोखिम। यही कारण है कि यह डिफ़ॉल्ट रूप से सक्षम नहीं है।

विस्तृत विवरण: त्वरित फ़ाइल प्रारंभ को सक्षम करने के लिए कैसे और क्यों


पाठक को ध्यान दें: यदि आप अपने सर्वर को हैक करने और डिलीट की गई फ़ाइल से पुराना डेटा पढ़ने के बारे में चिंतित हैं, तो IFI को छोड़ना मददगार हो सकता है, लेकिन यह शायद ही मैं पर्याप्त समझूंगा। और, यदि आपको ऐसा सॉफ़्टवेयर मिल गया है जो पहले से डिलीट की गई फ़ाइलों को ओवरराइट कर देता है, तो आप शायद IFI को चालू करना ठीक होगा, क्योंकि उस सॉफ़्टवेयर को पहले ही स्थान खाली कर देना चाहिए।
15

अब SQL सर्वर सेवा खाते पर यह अधिकार देने के लिए इंस्टॉल (SQL 2016 आगे) के दौरान एक चेकबॉक्स है, इसलिए मुझे लगता है कि एमएस सुरक्षा के मोर्चे पर भी थोड़ा आराम कर रहे हैं।
गारेथ लियोन्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.