Under unusual circumstances, the SQL Executive alert engine can inadvertently become caught in the endless recursive firing of the same alert. Such circumstances generally arise when the SQL Server runs out of some essential global resource, such as locks, and an alert has been defined on this event, either explicitly by error number or implicitly by severity level.
In such circumstances, the following sequence starts and can be stopped only when the SQL Server's global resource problem is manually fixed:
These are symptoms of a repeating alert:
Should you encounter a problem, it is possible to configure the SQL Executive alert engine to treat specific error numbers as non-alert-generating errors. That is, if the error occurs and an alert has been defined on it, explicitly by error number or implicitly by severity level, then SQL Executive will not fire the alert. Instead it will write a message (event 323) to the Windows NT event log stating that the alert was ignored according to the non-alert-generating status that was assigned to it.
regedt32
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\SQLExecutive
SQL Enterprise Manager and the stored procedures sp_addalert and sp_updatealert use the NonAlertableErrors list to restrict which errors can be monitored by an alert.
Important There should seldom be the need to modify the default list of entries.
This example shows the default list of non-alert-generating errors. These errors should never be removed.
1204,4002
This example adds error 100 to the list of non-alert-generating errors:
1204,4002,100
This example shows that having 0 within the list suspends the processing of the rest of the list. Only errors 1204 and 4002 are non-alert-generating; error 100 will generate an alert.
1204,4002,0,100