Batas waktu diberlakukan oleh ADO.NET. SQL Server tidak tahu yang namanya batas waktu perintah. Klien .NET akan mengirimkan perintah TDS "perhatian". Anda dapat mengamati perilaku ini dengan SQL Profiler karena memiliki peristiwa "perhatian".
Ketika SQL Server menerima pembatalan, itu akan membatalkan kueri yang sedang berjalan (seperti yang dilakukan SSMS saat Anda menekan tombol stop). Ini akan membatalkan batch (seperti di SSMS). Ini berarti tidak ada kode tangkap yang dapat dijalankan. Koneksi akan tetap hidup.
Dalam pengalaman saya, transaksi akan segera dibatalkan. Saya rasa ini tidak dijamin.
TL;DR:Batas waktu di ADO.NET berperilaku sama seperti jika Anda menekan stop di SSMS (atau disebut SqlCommand.Cancel
).
Berikut referensi untuk ini:https://techcommunity.microsoft.com/t5/sql-server-support/how-it-works-attention-attention-or-should-i-say -cancel-the/ba-p/315511