मान लें कि मेरे पास एक क्वेरी है जो मेरे SQL-Server डेटाबेस पर भेजी जाती है, इसमें 30 सेकंड से अधिक समय लगता है, और मेरा प्रोग्राम SQL क्वेरी टाइमआउट अपवाद फेंकता है। क्या क्वेरी अभी भी मेरे डेटाबेस पर चिपक रही है या जैसे ही अपवाद फेंक दिया जाता है?यदि यह टाइम्स आउट हो तो एक प्रश्न के साथ क्या होता है?
उत्तर
एक ग्राहक सर्वर में कोई ध्यान घटना का उपयोग कर के लिए एक क्वेरी टाइमआउट संकेत देती है। एक ध्यान घटना बस विशिष्ट प्रकार का टीडीएस पैकेट एक एसक्यूएल सर्वर क्लाइंट इसे भेज सकता है। कनेक्ट/डिस्कनेक्ट करने के अलावा, टी-एसक्यूएल बैच, और आरपीसी घटनाएं, क्लाइंट सर्वर पर ध्यान दे सकता है। ध्यान सर्वर को को रद्द करने के लिए सर्वर को वर्तमान में क्वेरी (यदि कोई है) को जितनी जल्दी हो सके रद्द करने के लिए कहता है। एक ध्यान नहीं रोलबैक खुला लेनदेन करता है, और यह एक पैसा पर वर्तमान में क्रियान्वित क्वेरी रोक नहीं करता है - सर्वर रोकता जो कुछ भी यह अगले उपलब्ध अवसर पर कनेक्शन के लिए कर रहा था। आमतौर पर, यह बहुत तेज़ी से होता है, लेकिन हमेशा नहीं।
यदि आपको SQL टाइमआउट मिलता है तो SQL बंद हो गया है, हालांकि वेब एप्लिकेशन समय निकाल सकते हैं और SQL क्वेरी जारी रख सकती है।
एक प्रश्न, एसक्यूएल सर्वर अनुमान कितना स्मृति यह रन की जरूरत है और बफर पूल से स्मृति की इस राशि आरक्षित करने की कोशिश करता क्रियान्वित करने से पहले। यदि आरक्षण सफल होता है तो क्वेरी तुरंत निष्पादित की जाती है। यदि बफर पूल से पर्याप्त मेमोरी आसानी से उपलब्ध नहीं है, तो क्वेरी को को टाइमआउट मान, के साथ कतार में रखा गया है, जहां टाइमआउट मान क्वेरी लागत द्वारा निर्देशित किया जाता है। मूल नियम यह है: अनुमानित लागत अधिक है, समय का मूल्य अधिक है। जब इस क्वेरी का प्रतीक्षा समय टाइमआउट मान से अधिक है, तो टाइम आउट त्रुटि फेंक दी गई है और क्वेरी कतार से हटा दी गई है।
आमतौर पर जब यह समय समाप्त इसका मतलब है कि कनेक्शन मर गया है, जिसका अर्थ है क्वेरी डेटाबेस के लिए नहीं भेजा गया है, सबसे डेटाबेस समर्थन लेनदेन जहां लेन-देन, शुरू कर सकते हैं आपके प्रश्नों चलाने के लिए, और यदि आप खुश हैं तो आप उन्हें प्रतिबद्ध कर सकते हैं।
उदाहरण:
BEGIN TRAN
UPDATE authors
SET au_fname = 'John'
WHERE au_id = '172-32-1176'
UPDATE authors
SET au_fname = 'Marg'
WHERE au_id = '213-46-8915'
COMMIT TRAN
का जिक्र कर रहा है इस मामले में, कनेक्शन अभी भी खुला है, लेकिन डेटाबेस भारी लोड के तहत है, जिससे प्रश्न एक लंबा समय लेने के लिए। – sooprise
क्या आप कनेक्शन टाइमआउट या कुछ के बारे में बात कर रहे हैं? यह कमांड टाइमआउट से अलग है। –
मेरा मुद्दा यह है कि यदि वह किसी सर्वर से कनेक्शन कर रहा है और उसे यह सुनिश्चित करने की ज़रूरत है कि वे वास्तविक डेटाबेस पर फेंक जाएंगे, तो लेनदेन का उपयोग करने से त्रुटियों को रोकने में मदद मिलेगी जो कभी-कभी टाइमआउट के – RobertPitt
जब ग्राहक फैसला करता है कि आदेश काफी देर तक चलने के बाद, यह जारी करता है एक "निरस्त करें"। क्वेरी बस डेटाबेस में चलना बंद कर देता है।
कोई भी कैच ब्लॉक नहीं मारा जाएगा, लेनदेन खुले रहेंगे और इसके बाद भी लॉक आवंटित रहेंगे, भले ही कनेक्शन बंद हो क्योंकि "बंद" का मतलब है "कनेक्शन पूल पर वापस जाना"।
यदि आपको लगता है कमान टाइमआउट का एक बहुत तो SET XACT_ABORT ON (and this too) कि होगा रिलीज ताले और रोलबैक लेनदेन उपयोग करने पर विचार। या कोड को ठीक करें ...
पर एक लेनदेन खोला जाएगा आपने कहा "क्वेरी बस डेटाबेस में चलना बंद कर देती है"; मार्टिन स्मिथ के जवाब में कहा गया है, "यह वर्तमान में निष्पादित क्वेरी को एक डाइम पर नहीं रोकता है - सर्वर अगले उपलब्ध अवसर पर कनेक्शन के लिए जो भी कर रहा था, उसे रोकता है"। क्या सही है? – simonp
वही परिणाम, अलग भाषा। सर्वर लोड, इन-फ्लाइट आईओ, जो भी डब्ल्यूएआईटी खेल रहे हैं, के आधार पर मेरा "स्टॉप" देरी हो सकती है – gbn
- 1. प्राथमिक कुंजी आईडी के साथ क्या होता है जब यह सीमा से अधिक हो जाता है?
- 2. यदि कोई कॉल कॉल दो कॉलन के साथ शुरू होता है तो इसका क्या अर्थ है?
- 3. क्या होता है यदि एक थ्रेड किसी प्रक्रिया में दुर्घटनाग्रस्त हो जाता है?
- 4. यदि रेल में text_field_tag फॉर्म सहायक है, तो क्या यह सबमिट नहीं होता है?
- 5. जावा प्रश्न: क्या यह एक विधि है?
- 6. यदि जंगल में एक क्यूटी संकेत उत्सर्जित होता है और कोई भी इसे सुनने के लिए नहीं होता है, तो क्या यह ध्वनि बनाता है?
- 7. यदि वाईएएमएल मार्कअप भाषा नहीं है, तो यह क्या है?
- 8. क्या होता है यदि php.ini गुम है?
- 9. क्या होता है यदि मैं एक एएसपी.NET वेब पेज
- 10. जब जावा प्रोग्राम शुरू होता है तो क्या होता है?
- 11. यदि प्रश्न बहुत छोटा है तो हमें log4j.xml
- 12. बूस्ट: यदि यह सूचक है तो एक टेम्पलेट तर्क
- 13. यदि कक्षा (यह == न्यूल) परीक्षण संकलित हो गया है तो एक क्लास फ़ंक्शन?
- 14. यदि "सूची" एक मोनॉयड है, तो इसका "सेट" क्या है?
- 15. यदि डेटा शून्य हो सकता है तो एक डाटरो से पढ़ने का सही तरीका क्या है
- 16. यह टूलस्ट्रिपमेनूइटम के साथ क्यों होता है?
- 17. यदि आवश्यक हो तो WPF टूलटिप दिखाएं
- 18. माइस्क्ल समेकन: यदि लॉक की गई तालिका का उपयोग किया जाता है तो क्या होता है?
- 19. यदि "onselectstart" है, तो क्या "onselectend" है?
- 20. डब्ल्यूपीएफ: क्या यह मानक है कि जब मेन्यूइटम अक्षम हो जाता है तो आइकन गहरा नहीं होता है?
- 21. पर्सिस्टेंस प्रश्न के साथ जावा हाइबरनेट --- यदि FetchType परिभाषित नहीं किया गया है, तो डिफ़ॉल्ट विधि क्या है?
- 22. क्या होता है यदि टेबलबैचऑपरेशन का एक ऑपरेशन विफल हो जाता है?
- 23. क्या होता है यदि कंपाइलर फ़ंक्शन पॉइंटर
- 24. यदि ब्लूटूथ डिवाइस कनेक्ट हो रहा है/डिस्कनेक्ट हो रहा है तो प्रसारण करें?
- 25. यदि मैं "फेंक" का उपयोग करता हूं तो क्या होता है फेंकने के अपवाद के बिना?
- 26. क्या होता है यदि मैं एक खाली यूआरएल के साथ jQuery.post() को कॉल करता हूं?
- 27. यदि आप एक खाली जावा फ़ाइल संकलित करते हैं तो क्या होता है?
- 28. क्या यह एक ही नाम के साथ दो कक्षाएं हो सकता है यदि वे अलग-अलग फ़ोल्डरों में हैं?
- 29. जब मैं एक सूची क्रमबद्ध करता हूं तो इसके इटरेटर के साथ क्या होता है?
- 30. यदि आपके पास आईबीओलेट है, लेकिन संपत्ति नहीं है, तो क्या यह बरकरार है या नहीं?
प्रश्न में 30 सेकंड का उल्लेख इंगित करता है कि ओपी कमांड टाइमआउट (क्लाइंट से) के बारे में पूछ रहा है मेमोरी अनुदान टाइमआउट या लॉक टाइमआउट नहीं। –
मेमोरी अनुदान टाइमआउट एडीओ.Net क्लाइंट अनुरोध टाइमआउट से एक अलग बात है, जो 30 सेकंड है ओपी –