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

cara mendeteksi batas waktu server sql dari aplikasi .NET tanpa menggunakan catch Exception

Tidak, tidak juga.

Cara standar adalah dengan menggunakan try/catch dan menangani SqlException Nomor 1205 (korban kebuntuan), dan coba lagi kueri Anda:

    try
    {
        // do stuff...
    }
    catch (SqlException sqlEx)
    {
        switch (sqlEx.Number)
        {
            case -2:   // Client Timeout
            case 701:  // Out of Memory
            case 1204: // Lock Issue 

            case 1205: // >>> Deadlock Victim
                // handle deadlock
                break;

            case 1222: // Lock Request Timeout
            case 2627: // Primary Key Violation
            case 8645: // Timeout waiting for memory resource 
            case 8651: // Low memory condition 
            ...
        }
    }

[Catatan:pernyataan break tidak ditambahkan untuk kekompakan

Perhatikan juga , banyak masalah penguncian dapat dihilangkan dengan menyediakan indeks penutup yang sesuai.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara membuat daftar semua kolom dalam sebuah tabel?

  2. Konversi 'datetime' menjadi 'date' di SQL Server (Contoh T-SQL)

  3. Memosisikan tabel dan bagan di BIDS SSRS

  4. Apa Tujuan Replikasi Data?

  5. Permintaan SQL Server Xml dengan beberapa ruang nama