यदि मैं एसक्यूएल कॉमांड और एसक्यूएल कॉमांड टाइम का उपयोग करके एक संग्रहित प्रो चलाता हूं तो स्टोर्डप्रोक निष्पादित करना जारी रखता है या एसक्यूएल कॉमांड डिस्कनेक्ट होने पर इसे छोड़ने के लिए मजबूर हो जाता है?संग्रहीत प्रो और एसक्यूएल कॉमांड टाइमआउट
उत्तर
मेरी वृत्ति ने कहा कि प्रक्रिया अभी भी निष्पादित होगी इसलिए मैंने एक साधारण परीक्षण को एक साथ फेंक दिया।
एसक्यूएल:
Create Procedure TestDelay
AS
waitfor delay '00:00:40'
update table_1
set dt = getdate()
और VB.Net (इस उद्देश्य के लिए सी # के रूप में ही) में:
Dim con As New SqlConnection(myconnectionstring)
Dim com As New SqlCommand("TestDelay", con)
com.CommandType = CommandType.StoredProcedure
con.Open()
Try
com.ExecuteNonQuery()
Catch ex As Exception
con.Close()
Response.Write(ex.Message)
End Try
परिणाम? प्रक्रिया समय समाप्ति के बाद पूरा नहीं हुआ। मैंने एसक्यूएल प्रोफाइलर में एक ट्रेस के दौरान क्या हो रहा था और यह सुनिश्चित किया कि लेनदेन में कॉल को लपेटने के लिए पर्याप्त एसक्यूएल दिखाई देता है और उस लेनदेन को टाइमआउट पर वापस रोल करना होगा।
नोट: यह परीक्षण SQL 2005 के विरुद्ध चलाया गया था, लेकिन मुझे लगता है कि परिणाम अन्य संस्करणों में समान होंगे।
जैसा कि ब्रेंडन ने कहा, क्लाइंट "निरस्त" भेजता है और प्रसंस्करण मृत हो जाता है। इतना सरल है।
हालांकि, यह है कि तुलना में अधिक जटिल है ...
किसी भी लेन-देन वापस डिफ़ॉल्ट रूप से लुढ़का नहीं कर रहे हैं और ताले सिर्फ वहाँ जब तक कनेक्शन बंद कर दिया है छोड़ दिया जाता है। यदि कनेक्शन पूल में वापस आ गया और पुन: उपयोग किया गया, तो यह बंद होने के रूप में नहीं गिना जाता है।
यही कारण है कि SET XACT_ABORT ON
(अन्य प्रश्न SO1, SO2) की सिफारिश की है
- 1. एसक्यूएल कॉमांड पैरामीटर
- 2. एसक्यूएल कॉमांड + पैरामीटर
- 3. ओरेकल कॉमांड एसक्यूएल पैरामीटर बाध्यकारी
- 4. एसक्यूएल कॉमांड का पुन: उपयोग करना?
- 5. प्रो
- 6. एसक्यूएल कॉमांड ऑब्जेक्ट, कमांडटाइमआउट के लिए कितना समय है?
- 7. एसक्यूएल एज़ूर: अधिक इंटरमीटेंट टाइमआउट
- 8. लिंक-टू-एसक्यूएल टाइमआउट
- 9. एसक्यूएल सर्वर संग्रहीत प्रक्रिया प्रबंधन स्टूडियो
- 10. प्रो और लैम्ब्डा
- 11. मैकबुक प्रो
- 12. क्या एक SQL सर्वर संग्रहीत प्रो अपने मूल प्रो का नाम निर्धारित कर सकता है?
- 13. एसक्यूएल सर्वर संग्रहीत प्रक्रियाओं और अनुमतियों
- 14. टी-एसक्यूएल संग्रहीत प्रक्रिया स्क्रिप्ट बनाएं
- 15. एसक्यूएल सर्वर - संग्रहीत प्रक्रिया
- 16. एसक्यूएल सर्वर लॉक टाइमआउट लूप
- 17. एसक्यूएल सर्वर एजेंट जॉब टाइमआउट
- 18. एमएस एसक्यूएल: संग्रहीत प्रक्रिया
- 19. एसक्यूएल संग्रहीत प्रक्रिया
- 20. पैरामीटरेटेड एसक्यूएल कॉमांड - एसक्लडीबीटी टाइप निर्दिष्ट करने का लाभ?
- 21. एसक्यूएल सर्वर: प्रो परिभाषा में 'RECOMPILE' के उपयोग का प्रभाव?
- 22. रुबी में ब्लॉक और प्रो
- 23. एसक्यूएल सर्वर - क्या संग्रहीत प्रक्रिया
- 24. टी-एसक्यूएल एक संग्रहीत प्रोप
- 25. क्या मैं एसक्यूएल संग्रहीत प्रक्रिया
- 26. एसक्यूएल संग्रहीत प्रक्रिया गुजर पैरामीटर
- 27. संग्रहित प्रो SQL सर्वर
- 28. DataContext.ExecuteCommand का उपयोग कैसे करें और निष्पादित संग्रहीत प्रो वापसी मूल्य प्राप्त करें?
- 29. डिफ़ॉल्ट एसक्यूएल कॉमांड कमांडटाइम को कॉन्फ़िगर करने के बजाय कॉन्फ़िगरेशन के साथ बदलें?
- 30. सीक्वेल प्रो के लिनक्स विकल्प? (जीयूआई आधारित एसक्यूएल नेविगेटर)
सही है, एसक्यूएल से 7 कम से कम वापस – gbn