Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

कैच अपवाद का उपयोग किए बिना .NET एप्लिकेशन से sql सर्वर टाइमआउट का पता कैसे लगाएं?

नहीं, वास्तव में नहीं।

try/catch . का उपयोग करने का मानक तरीका है और संभाल लें SqlException नंबर 1205 (गतिरोध पीड़ित), और अपनी क्वेरी का पुनः प्रयास करें:

    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 
            ...
        }
    }

[नोट:संक्षिप्तता के लिए ब्रेक स्टेटमेंट नहीं जोड़े गए हैं

यह भी नोट करें , उचित कवरिंग इंडेक्स प्रदान करके कई लॉकिंग मुद्दों को समाप्त किया जा सकता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सभी NULLs को प्रतिस्थापित करता है

  2. SQL सर्वर टेक्स्ट डेटाटाइप अधिकतम लम्बाई =65,535?

  3. WinRT System.Data - SQL से कनेक्ट करें

  4. Visual Studio 2010 से .MDF फ़ाइल बनाने में समस्या

  5. SQL सर्वर - एक संग्रहीत कार्यविधि में नेस्टेड लेनदेन