टाइमआउट ADO.NET द्वारा लागू किया गया है। SQL सर्वर कमांड टाइमआउट जैसी कोई चीज़ नहीं जानता है। .NET क्लाइंट एक "ध्यान" टीडीएस कमांड भेजेगा। आप इस व्यवहार को SQL Profiler के साथ देख सकते हैं क्योंकि इसमें "ध्यान" घटना है।
जब SQL सर्वर रद्दीकरण प्राप्त करता है तो यह वर्तमान में चल रही क्वेरी को रद्द कर देगा (जैसे SSMS करता है जब आप स्टॉप बटन दबाते हैं)। यह बैच को निरस्त कर देगा (जैसे SSMS में)। इसका मतलब है कि कोई कैच कोड नहीं चल सकता है। कनेक्शन जिंदा रहेगा।
मेरे अनुभव में लेनदेन तुरंत वापस ले लिया जाएगा। हालांकि मुझे नहीं लगता कि इसकी गारंटी है।
TL; DR:ADO.NET में एक टाइमआउट वैसा ही व्यवहार करता है जैसे कि आपने SSMS में स्टॉप दबाया था (या SqlCommand.Cancel
कहा जाता है। )।
इसके लिए संदर्भ यहां दिया गया है:i-say-cancel-the/ba-p/315511">https://techcommunity.microsoft.com/t5/sql-server-support/how-it-works-attention-attention-or- should-i-say -cancel-the/ba-p/315511