2009-06-23 15 views
10

क्या एसक्यूएल सर्वर को (नोलॉक) संकेत या संग्रहित प्रक्रिया में प्रत्येक चयन का उपयोग करने के लिए कुछ तरीका है?एसक्यूएल सर्वर - एक डिफ़ॉल्ट के रूप में संकेत (nolock) संकेत कैसे सेट करें?

प्रत्येक एक हर चयन करने के लिए इसे जोड़ने के लिए ....

+2

आपको सावधान ऐसा करने खासकर इसलिए गंदा पढ़ता की उच्च मात्रा लेन-देन के वातावरण में रहना चाहता हूँ। –

+2

ऐसा करने से पहले - सुनिश्चित करें कि आप गंदे पढ़ने के पूर्ण परिणामों को समझते हैं। आप प्रश्नों में लापता रिकॉर्ड या डबल-रीडिंग रिकॉर्ड्स को समाप्त कर सकते हैं - जो कि आपके ऐप के लिए बहुत से मामलों में अच्छी बात नहीं है। –

उत्तर

2

इस पाया ....

How to force nolock hint for sql server logins

सबसे अच्छा तरीका प्राप्त करने के लिए यह एक

सेट लेनदेन अलगाव स्तर अप्रतिबद्ध पढ़ें जारी करने के लिए

किसी अन्य विचार है की तरह लगता है ???

ps

एक और संबंधित सवाल ...

NOLOCK vs. Transaction Isolation Level

6

मुझे लगता है कि यह आपके लिए ...

सेट क्या देख रहे लेनदेन अलगाव स्तर अप्रतिबद्ध पढ़ें है सुंदर थकाऊ है

5

आप निम्नलिखित syntax उपयोग करना चाहते हैं:

सेट लेनदेन अलगाव स्तर अप्रतिबद्ध पढ़ें

मैं इस ख पाया y here स्थित NOLOCK तालिका संकेत को देख रहा है। साथ (NOLOCK) तालिका संकेत अलगाव स्तर को सेट करने के बराबर है जिसे पढ़ने के लिए पढ़ा जा सकता है। यहाँ MSDN से स्निपेट है:

NOLOCK READUNCOMMITTED के बराबर है। अधिक जानकारी के लिए, इस विषय में बाद में READUNCOMMITTED देखें।

14

के रूप में दूसरों को काफी ठीक ही कहते हैं, एक वैश्विक (nolock) पढ़ें अप्रतिबद्ध उपयोग किया जाता है।

हालांकि, उस मार्ग पर जाने से पहले, इसे पहले प्रेषित स्नैपशॉट पढ़ने का प्रयास करने लायक है। इसका अर्थ यह है कि आपके पढ़ने को प्रगति आवेषण/अपडेट में लॉक नहीं किया जाएगा और इसका मतलब है कि डेटा गंदा नहीं है, बस पुराना है।

0

हालांकि, आप गलत डेटा के साथ समाप्त हो सकते हैं। 2005 को, यह स्नैपशॉट अलगाव उपयोग करने के लिए बेहतर है: "स्नैपशॉट अलगाव में मदद करता है और जब यह दर्द होता है जब" http://www.devx.com/dbzone/Article/32957

संबंधित मुद्दे