Wednesday, March 14, 2012

Get to know - Database Log-Table Viewer (DLTV)

Let me begin by quickly describing the problem we're trying to solve -
When you develop in a SQL Server environment and reaching a point where your environment contains multiple Stored-Procedures, functions, Jobs and other T-SQL related scripts, you often need a simple logging solutions for tracking processes, progress or any other activity in your system.

I'm not taking about profiler-level tracking of just seeing *anything*, but a more pin-point messages such as:
"YYYY/MM/DD HH:MM:SS - Proc1: Started"
"YYYY/MM/DD HH:MM:SS - Proc1: Gathering new users data"
"YYYY/MM/DD HH:MM:SS - Proc1: Adding users to queue table"
"YYYY/MM/DD HH:MM:SS - Proc1: 20%"
"YYYY/MM/DD HH:MM:SS - Proc1: 60%"
"YYYY/MM/DD HH:MM:SS - Proc1: 100%"
"YYYY/MM/DD HH:MM:SS - Proc1: Done"

Now, consider you write such messages (which you simply store in a table created for the purpose), and would like to quickly access them, either by real-time, search, tree-based exploration etc...

Ta-da! That's exactly what we do!

The Log Table viewer project provides a unified logging interface for your SQL code.
A set of log-based procedures for your Server Side And a powerful log viewer/explorer for the client side

Setup is easy -
After installation, you jump right into the configuration screen, on which you define where the log table/procedure are located (tblLog / usp_write_to_log)
If they don't exist yet, you can easily create them using a single click; Save, and that's it - you're ready to go!

As a side-note, you can either specify your server using the regular SQL dialog, or use our "Server Repository", which hold your server collection and available as a shared list by all of our products. (Post about the repository is also coming soon)

So now, both client/server sides are ready. Next thing you do is start writing your log messages.

Test it - connect to the server/database you've configured the client to access, and write this:
EXEC usp_write_to_log @Source='MyScript', @message='Hello World', @severity=1


Now go back to the client, click on the "Real-time" tab, and see your message.
Quite simple, wouldn't you say?

Get DLTV here:

Here are some sample screenshots of the client in action:
Real-time view

Enjoy! (it's free and all...)