Exceptions occur when the SQL Server cannot complete a requested action. It is usually an indication of problems in the code being executed and needs attention because there is the strong possibility of data being lost.
We are pleased to announce the introduction of several new features into the AimBetter SQL Server Exception alerts function. The new alerts fall into three categories, as outlined below. We also give a few detailed examples of what an alert does, which you can use to understand the functions that all of the new alerts will perform.
All these alerts are operating as from June 28, 2018
- Permission Violation: A user is trying to execute some function for which he/she does not have sufficient permission – eg. reading data from a secure table
- Login Exception: A user’s login attempt has failed, usually due to incorrect user name/password combination
Data Loss Exceptions
- Overflow Exception: An attempt was made to insert a data into a field or parameter that is too small – eg: trying to insert a company’s email address into a three-character field
- Foreign Key Exception: (A foreign key is a field in one table that uniquely identifies a row in another table in the same table.) An attempt was made to delete or to insert some data that has a father-to-child dependency – eg. an attempt to enter the details of a meeting’s time in a calendar table without the invitation already being registered in the meeting table
- Convert Exception: When an attempt is made to save data in a format that does not match the designated type of the field – eg. Date not in the appropriate format or text value for a numeric field
- Duplicate Key Exception: An attempt was made to to insert data into a table that is defined as having unique key, with a key that already exists – eg. attempting to insert a new employee into a table of employees with a pre-existing employee number
- Null Exception: When some element of the data is protected, it is not permissible to enter a Null value (without value) into the table, and an exception is raised when such an attempt is made – eg. trying to entering a vendor number without the vendor name
- Parameter Exception: If code defines a specific number of parameters, exactly that number must be passed in any calls – eg. An attempt was made to execute a function that calls for 4 parameters but supplied only 3 parameters.
- Table corrupted: A failure when trying to save or retrieve a data from a table. Due to improper maintenance or a storage failure – eg. allocation pages/extent chain appear to be damaged or cross-linked in some way.
- Anything related to improper code than violates SQL Server rules – eg. syntax errors
For more details about Exception alerts, you can read our blog by clicking here on the Blogs link on our web page.
For the next 30 days, while we are measuring the levels of responses, the alerts will not be generating the email that other alerts automatically send to users, in order to avoid flooding new emails. Once this fine tuning has been completed, the alert will send out emails in the usual way.
Example 1 – Syntax Exception
This new alert identifies any instances where syntax coding errors stop execution of a module over the past 60 minutes. In the following snapshot you can see an example from the AimBetter Dashboard:
By stepping into the Agent Log with a single click, the whole picture is revealed of where the code error is:
Example 2 – Duplicate Key Exception
This new alert identifies any instances of a Duplicate Key Exception over the past 60 minutes. In the following snapshot you can see an example from the AimBetter Dashboard: .
In order to investigate the details of the alert, you can open the Event Log pane in the Observer tab. All the relevant details are immediately visible.