|
|
|
SSC-Enthusiastic
      
Group: General Forum Members
Last Login: Thursday, June 02, 2011 3:09 PM
Points: 111,
Visits: 82
|
|
Some error messages are template and need to raiseerror first, check for the error number and get error description, at that point, you will get the target objects (table name, column etc ..) replaced. This applies to some errors, but others you can get the full error message such as divide by zero etc ..
exec msdb..sp_get_message_description 8134
--Mohamed
|
|
|
|
|
Forum Newbie
      
Group: General Forum Members
Last Login: Sunday, June 13, 2010 7:18 AM
Points: 8,
Visits: 35
|
|
| I had a requirement to get the Exact Error Messages generated by SQL Server 2000. If I was not able to achieve that then we would have switched to Windows Service.
|
|
|
|
|
SSC Journeyman
      
Group: General Forum Members
Last Login: Monday, August 23, 2010 2:33 AM
Points: 96,
Visits: 62
|
|
Is it me or are you guys missing a trick here?
There is a system table named sysmessages where all error descriptions are stored (both system errors and user errors), with reference to the place holders you should know for the most part which table caused the error as you should really be checking for errors at every stage of a transaction. With regards to the column this is where my process falls short, you are not able able to capture it real time you would have to re-run the process to find the column that isn't happy.
Once I'm in the office tomorrow I will post the full code I use for all error captures for all my databases. This code allows you to trap the error, record the error message and the details of the process that caused the error and then issue an alert email to the DBA's or whoever you want to send the message to.
The error capture process will store the error details and process details in the database you are working with if for any reason it cannot record the error in the database it reverts to storing the data in the server log. I have to say I'm not a big fan of storing the error in the log as it is more difficult to extract in an automated manor than if it is stored in table where the error occurred or even in a central error capture database.
|
|
|
|
|
Forum Newbie
      
Group: General Forum Members
Last Login: Sunday, June 13, 2010 7:18 AM
Points: 8,
Visits: 35
|
|
The sysmessage is there but since there are multiple insert stmts and multiple update stmts just looking at the placeholder is very difficult. Since in my case the support IT team required the exact error description so that they can sort the issue as soon as possible. since sys messages give only the template message. for eg Inserting Null value into a column which does not allow it. In our case each table has around 15 - 25 columns. So it would be very difficult to find out looking at the sysmessage that which table the issue has occurred and which value was Null.
|
|
|
|
|
Mr or Mrs. 500
      
Group: General Forum Members
Last Login: Wednesday, May 15, 2013 5:54 PM
Points: 525,
Visits: 617
|
|
I found both the article AND the subsequent discussion here very useful. Thank you to all!
|
|
|
|