SQL Server-errors for exceptions, assertions, and hang conditions

From:https://support.microsoft.com/en-us/help/2028589/sql-server-reports-errors-for-exceptions-assertions-and-hang-condition

Symptoms


SQL Server records the following events in the Windows Application Event Log (and SQL ERRORLOG) when execptions, assertions, or hang conditions are detected:

EventID Message
17065 SQL Server Assertion: File: <filename>, line = <n> Failed Assertion = '<expression>'
17066 SQL Server Assertion: File: <"filename">, line=<n> Failed Assertion = '<expression>'. This error may be timing-related. If the error persists after rerunning the statement, use DBCC CHECKDB to check the database for structural integrity, or restart the server to ensure in-memory data structures are not corrupted
17067 SQL Server Assertion: File: <"filename">, line=<n> Failed Assertion = '<expression>'. This error may be timing-related. If the error persists after rerunning the statement, use DBCC CHECKDB to check the database for structural integrity, or restart the server to ensure in-memory data structures are not corrupted
17310 A user request from the session with SPID <n> generated a fatal exception. SQL Server is terminating this session. Contact Product Support Services with the dump produced in the log directory
17311 SQL Server is terminating because of fatal exception <exception code>. This error may be caused by an unhandled Win32 or C++ exception, or by an access violation encountered during exception handling. Check the SQL error log for any related stack dumps or messages. This exception forces SQL Server to shutdown. To recover from this error, restart the server (unless SQLAgent is configured to auto restart).
17883 Process <process> (<thread id>) Worker <worker address> appears to be non-yielding on Scheduler <n>. Thread creation time: <n>. Approx Thread CPU Used: kernel <n> ms user <n> ms. Process Utilization <n>%. System Idle <n>%. Interval: <n> ms
17884 New queries assigned to process on Node <n> have not been picked up by a worker thread in the last <seconds> seconds. Blocking or long-running queries can contribute to this condition, and may degrade client response time. Use the "max worker threads" configuration option to increase number of allowable threads, or optimize current running queries. SQL Process Utilization: <n>%. System Idle: <n>%
17887 IO Completion Listener (<threadid> Worker <worker address> appears to be non-yielding on Node <n>. Approx CPU Used: kernel <n> ms, user<n> ms, Interval: <n>
17888 All schedulers on Node <n> appear deadlocked due to a large number of worker threads waiting on <wait type> Process Utilization <n>%.

Cause


The cause for these errors is specific to the error. In many cases, assertions and exceptions are caused by a problem with the SQL Server code. Scheduler yielding problems (or hangs) may be a problem with the SQL Server code but can also be a problem with an external module or a thread delayed when calling a Windows API call.

Resolution


Find the context of the error and related stack dump information in the ERRORLOG to search for possible known issues within the Microsoft Knowledge Base. If Error Reporting is enabled, you may receive a response from Microsoft as found in the Event Log indicating a possible solution to the problem.

More Information


For more information about the products or tools that automatically check for this condition on your instance of SQL Server and on the versions of the SQL Server product, see the following table:
Rule software

Rule title

Rule description

Product versions against which the rule is evaluated
SQL Server 2008 R2 Best Practice Analyzer (SQL Server 2008 R2 BPA)





Server Exception or Hang detected on server






The SQL Server 2008 R2 Best Practice Analyzer (SQL Server 2008 R2 BPA) provides a rule to detect if any of the events listed in the Symptoms section are found in the Windows Application Event Log. The SQL Server 2008 R2 BPA supports both SQL Server 2008 and SQL Server 2008 R2.

If you run the BPA tool and encounter an Error with the title of Engine - Server Exception or Hang detected on server, then you have one of the EventID values as listed in the Symptoms section of this article in your Windows Application Event Log. BPA does not filter on any date/time so it will report the number of occurrences of these events in your current Event Log.
SQL Server 2008
SQL Server 2008 R2







SQL Server 2012 Best Practice Analyzer (SQL Server 2012 BPA)





Server Exception or Hang detected on server





The SQL Server 2012 Best Practice Analyzer (SQL Server 2012 BPA) provides a rule to detect if any of the events listed in the Symptoms section are found in the Windows Application Event Log. 

If you run the BPA tool and encounter an Error with the title of Engine - Server Exception or Hang detected on server, then you have one of the EventID values as listed in the Symptoms section of this article in your Windows Application Event Log. BPA does not filter on any date/time so it will report the number of occurrences of these events in your current Event Log. 
SQL Server 2012








posted @ 2018-09-12 14:39  rosewong  阅读(541)  评论(0编辑  收藏  举报