मुझे NOLOCK
कुछ बड़ी नौकरियों के साथ "डेटा आंदोलन के कारण स्कैन जारी नहीं रख सका ", जो WITH (NOLOCK)
चुनिंदा प्रश्नों पर है।
मैं समझता हूं कि डेटा का चयन करने के प्रयास के साथ कुछ करना है जब एक पृष्ठ विभाजन हुआ है जिसके कारण डेटा अब नहीं होना चाहिए जहां यह होना चाहिए था - मुझे लगता है कि मेरे वातावरण में क्या हो रहा है।
मैं इसे कैसे पुन: पेश करूंगा?
मैं त्रुटि को पकड़ने के लिए एक शॉर्ट-टर्म वर्कअराउंड करने की कोशिश कर रहा हूं और ऐसा होने पर पुन: प्रयास करें, लेकिन अगर मैं इसे पुन: उत्पन्न नहीं कर सकता तो मैं इसका परीक्षण नहीं कर सकता। क्या इसके कारण का कोई विश्वसनीय तरीका है?
जब ऐसा होता है, तो क्वेरी को निष्पादित करने से सफलता मिलती है - इसलिए मुझे वास्तव में वास्तविक डेटा या डेटाबेस के स्थायी रूप से भ्रष्ट होने के बारे में कोई चिंता नहीं है। क्वेरी में कुछ तालिकाओं (उनकी अनुक्रमणिकाओं के साथ) को अक्सर गिरा दिया जाता है, फिर से बनाया जाता है, और अक्सर दोबारा खोला जाता है, इसलिए मैं मान रहा हूं कि यह उससे संबंधित कुछ है।
हटाने NOLOCK
से निपटने के लिए मेरा दीर्घकालिक मुद्दा है। NOLOCK
वहां पहले कारण रखा गया था कि प्रश्न इतने बुरे थे कि वे दिन-प्रतिदिन के लेनदेन के साथ गतिरोध कर रहे थे, इसलिए NOLOCK
गतिरोध (जो काम किया) को रोकने के लिए एक बैंड-सहायता थी। इसलिए मुझे एक बैंड-सहायता पर एक बैंड-सहायता की आवश्यकता है जब तक कि हम एक स्थायी समाधान नहीं कर सकते।
अगर मैं इसे हैलो वर्ल्ड के साथ पुन: पेश कर सकता हूं, तो शायद मैं एक घंटे से भी कम समय में बैंड-सहायता को काम में लाने की योजना बनाऊंगा। खोज-एंड-रिप्लेसमेंट नहीं कर सकते NOLOCK
, क्योंकि मुझे ऐप डेडलॉक फिर से मिलना शुरू हो जाएंगे, जो कि मेरे लिए कभी-कभार फेल होने वाली नौकरी से भी बदतर हैं।
रीड प्रतिबद्ध स्नैपशॉट अलगाव का उपयोग करना एक अच्छी संभावना है - मुझे इसके बारे में अधिक जानकारी प्राप्त करने के लिए हमारी डेटाबेस टीम के साथ काम करना होगा। हमारी समस्या का एक हिस्सा यह है कि उस तरह की चीज़ से निपटने के लिए हमारे पास एक SQL सर्वर विशेषज्ञ नहीं है, और मैं अभी उस परिवर्तन को करने के लिए अलगाव के स्तर को अच्छी तरह से नहीं समझता।
DEADLOCK_PRIORITY
करने के लिए LOW
, नौकरियों में इतना है कि अगर वहाँ गतिरोध कर रहे हैं, नौकरियों असफल हो जायेगी, और नहीं अनुप्रयोगों। उसके बाद, आप गतिरोधों पर शोध कर सकते हैं और पता लगा सकते हैं कि वे क्यों हो रहे हैं, और उस समस्या को ठीक कर रहे हैं। यह एक बहुत ही सरल समाधान हो सकता है, जैसे कि दो कथनों के क्रम को स्वैप करना। जो भी समस्या है, NOLOCK
वह समाधान नहीं है , इसलिए इसे केवल इसलिए आसान होने के लिए मजबूर करने की कोशिश करना बंद करें।
NOLOCK
इन नौकरियों से हटाने पर विचार किया है ? यदि इन प्रश्नों के परिणाम सटीक माने जाते हैं तो 601 आपकी चिंताओं में कम से कम होना चाहिए । पॉल व्हाइट पढ़ने के डेटा का एक विशेष रूप से भयानक उदाहरण दिखाता है जो यहां संभव नहीं होना चाहिए ।