Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Apa yang dilakukan SQL Server dengan permintaan waktu habis?

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kesalahan mengonversi tipe data varchar

  2. Mengapa pernyataan penghapusan SQL tunggal akan menyebabkan kebuntuan?

  3. Bagaimana cara menambahkan xml encoding <?xml version=1.0 encoding=UTF-8?> ke xml Output di SQL Server

  4. Permintaan Linq tidak berperilaku seperti yang diharapkan

  5. Apa literal Karakter Null di TSQL?