MSDN के अनुसार:
http://msdn.microsoft.com/en-us/library/ms191242.aspx
<ब्लॉकक्वॉट>जब या तो पढ़ें प्रतिबद्ध स्नैपशॉट या अनुमति स्नैपशॉट अलगाव डेटाबेस विकल्प चालू हैं, डेटाबेस में किए गए सभी डेटा संशोधनों के लिए तार्किक प्रतियां (संस्करण) बनाए रखा जाता है। हर बार एक पंक्ति को एक विशिष्ट लेनदेन द्वारा संशोधित किया जाता है, डेटाबेस इंजन का उदाहरण tempdb में पंक्ति की पहले से प्रतिबद्ध छवि का एक संस्करण संग्रहीत करता है। प्रत्येक संस्करण को लेन-देन के लेन-देन की संख्या के साथ चिह्नित किया जाता है जिसने परिवर्तन किया है। संशोधित पंक्तियों के संस्करण एक लिंक सूची का उपयोग करके जंजीर में हैं। नवीनतम पंक्ति मान को हमेशा वर्तमान डेटाबेस में संग्रहीत किया जाता है और tempdb में संग्रहीत संस्करण वाली पंक्तियों में जंजीर से बांधा जाता है।
शॉर्ट-रनिंग लेन-देन के लिए, एक संशोधित पंक्ति का विरोध बफर पूल में tempdb डेटाबेस की डिस्क फ़ाइलों में लिखे बिना कैश किया जा सकता है। यदि संस्करण वाली पंक्ति की आवश्यकता अल्पकालिक है, तो इसे बस बफर पूल से हटा दिया जाएगा और जरूरी नहीं कि I/O ओवरहेड हो।
ऐसा लगता है कि अतिरिक्त ओवरहेड के लिए थोड़ा सा प्रदर्शन जुर्माना है, लेकिन यह नगण्य हो सकता है। हमें यह सुनिश्चित करने के लिए परीक्षण करना चाहिए।
इस विकल्प को सेट करने का प्रयास करें और कोड प्रश्नों से सभी NOLOCKs को हटा दें जब तक कि यह वास्तव में आवश्यक न हो। NOLOCKs या डेटाबेस संदर्भ हैंडलर में डेटाबेस ट्रांजैक्शन आइसोलेशन स्तरों का मुकाबला करने के लिए वैश्विक विधियों का उपयोग करना समस्या के लिए बैंड-एड्स हैं। NOLOCKS हमारे डेटा स्तर के साथ मूलभूत मुद्दों को छुपाएगा और संभवतः अविश्वसनीय डेटा का चयन करने के लिए नेतृत्व करेगा, जहां स्वचालित चयन / अद्यतन पंक्ति संस्करण समाधान प्रतीत होता है।
ALTER Database [StackOverflow.Beta] SET READ_COMMITTED_SNAPSHOT ON