Another post for me that is simple and hopefully serves as an example for people trying to get blogging as #SQLNewBloggers.
I recently ran across some people discussing how to log some information in a script. One person was using PRINT, which I often use for quick checks, but someone else noted the RAISERROR works well, and you can customize messages.
For example, I can have this type of script:
DECLARE @d VARCHAR(20);
-- do stuff
SELECT @d = CAST( SYSDATETIME() AS VARCHAR(20));
RAISERROR('%s - something happened at this time', 0, 1, @d)
This allows me to add information into an error message. I can certainly construct @d with other stuff and then use that in PRINT, but I could get out of order messages. If I add NOWAIT, I can ensure my messages get returned immediately.
There are lots of options with RAISERROR, which I still use in place of THROW at times. While I like THROW, I think it doesn’t always give me the options I want for error handling, such as logging to the Windows lots.
When I saw this, I realized that I didn’t know, or remember, some of the ins and outs of RAISERROR, so I spent a few minutes looking through docs and playing with the code. I then wrote this quick post to help me remember a bit more.
Short and quick is a good way to structure posts. I didn’t walk about all the options or ways I can use things. I’ll do some of that in another post.