Total SQL Analyzer
by FMS Software
4 Stars -
I noticed a press release for a new documentation product a few weeks ago and
the product looked really interesting. I hate documenting things as much as anyone, but
I recognize the value and try to spend time working on it. I was excited to see a product that
would ease the burden of documentation.
I received a copy of the product from FMS and dropped the CD into my computer. The installation was
flawless. The installation offered to backup any files that were being replaced, which I assume
is forward thinking by FMS in planning for upgrades. One thing that was annoying was the serial number
dialog. I have become used to the cursor automatically jumping from one field to the next. It was
a annoying to manually tab between fields. This is one of the few things that I found unpolished about
The documentation mentioned this program can only run in a single instance (one copy running at a time).
This is something that quite a few programs require, but few actually check for. I checked and this
functionality is implemented and works. One note on this program is that is actually provides printed
documentation. This is something I rarely find, but it was nice to have a copy. Especially since the
online help is a dialog that is always on top of the program while it is open. While online help is open,
it was cumbersome to work with the product.
I setup a quick job using defaults and ran it against one server. The job was to document all
aspects of a server that I manage. It is mentioned in the documentation
that the process can be slow and it was. I ran the job against all objects and it used about 30-40% of my
CPU (Dell 600MHz, 256MB RAM). I continued to work in the background, mainly Outlook and Query Analyzer, and
I know the process took over 15 minutes, but I do not know how long exactly. One thing that was nice during the
setup of the job is that there is an option to minimize the server load. This introduces a delay between some of the
documentation checks. A really nice feature for production servers.
During the execution, I received a documentation error. This was a dialog that mentions some
error occurred and to check the log file. I did and the log file mentioned that a table was not found
in the 'Tables' collection. This was strange and there wasn't enough detail for me to determine
the reason for this error.
Update: I contacted support and we determined the error was a result of the object being owned
by a different user than 'dbo'. A bug IMHO that needs to be fixed..
The first item I noticed while checking the properties of a database was the following
Notice that the size shows 478 with no units. Also the space available: shows 447507,
again no units. How should I interpert these numbers? I did not find anything in
the included printed or online
documentation. This was one of the few areas that this product did not appear very polished.
I asked support and recieved an answer, but it would be a simple enhancement to include the units
on the screen.
Also, for the scripts that are displayed, it would be nice to be able to see the whole
script easily (word wrap it) in the right hand pane. I did double-click the script and the
entire script appeared in a dialog. This was inuitive for me and works well enough. This
is one feature I wished Query Analyzer had.
I chose a table and received quite a bit of information about the table. Here is the
The properties tab contains most of the information that one would ever need about the table. Most
of this information is pretty easy to find, but this product brings it together in one place.
In the performance tips, there was an item about NULL
values. Then in the lower right pane, there is a description which contained
a hint. Double-clicking this brings up the job properties instead of the issue with
performance. It was inconvenient and combersome to widen the column and scroll right
to see the data. This is one item that needs to be fixed.
I then browsed a job. The schedule ID was given, but the schedule is
not decoded. This is a great place for an enhancement that
should be relatively easy. Without this, the SQLAgent report on scheduled jobs loses quite
a bit of his value IMHO.
I chose the reports menu item and recieved a dialog box categorizing the reports. The list is
fairly exhaustive and I did not really find many holes. Here is a partial listing of the
I would like to ability to customize the reports a little more (corporate logo, rearrange fields, etc).,
but overall I think most reports that one would want are provided. I ran the Table Columns
report and received the following (in preview mode):
I tested the export to HTML - again, slow, but hey, unlike many programs I have use, it works!
The complaints I have are that the files are not linked if you export to multiple files. I know this
is a problem using Crystal, but I would have to develop a solution to build an index,
which still wouldn't give me internal links in the files without lots of effort. The
single file is too large and still doesn't contain internal links.
This product is slow, but documentation is fairly slow. I think
the UI could use some work, but this is probably not a
product that you will spend much time in the UI. Having the ability
to schedule jobs and have them run automatically is nice. Of course, the
management of the versions is something that one will need to handle. A nice
enhancement would be to automatically expire (delete) versions after
xx days/executions/etc. Similar to what SQL Server does with the
backups in the maintenance plans.
I like that this is a flat fee product. You buy a copy
of this tool and then run it against your servers from your
workstation. For small shops like me, I can buy a copy and run it
against 2-3 servers every weekend (or night) and I am fine.
For larger shops, the sheer time required to generate the reports will require you
to buy a few copies, but its a great tool. FMS does offer discounts for multiple copies of the product.
I scheduled a job to execute later in the day to see how this feature works. I received the
Not that this is a big deal, but it is a little annoying to have to leave this product running.
Especially since I couldn't minimize it. The scheduleing worked great. I left for a meeting and when
I came back, the job had been run.
Note: While the scheduling feature is nice, it is limited to a single job at a time. This prevents
me from scheduling a series of reports against multiple servers to run on a regular basis, like the end of
the month, for example.
I contacted support a number of times for various issues, some real, some not. I found that
support responded quickly to my questions and asked followup questions that showed they were not only
trying to solve the problem, but understand my reasons for asking. Hopefully some of the enhancements
I requested will be implemented in the next version.
Documentation of your servers if always a chore, and one that is often overlooked
or not kept up on. For my shop, where we release new versions of our product weekly,
this would be a great timesaver and would actually allow me to keep up on doucmentation.
There are, however, some enhancements that are needed to truly make this a useful
product for my entire shop. The ease of browsing and searching the documentation.
There are some enhancements that I would really like to see in this product (I've sent these to FMS).
- Difference - Tracking changes on a large server can be a tedious process. It would be nice for this
product to automatically compare two reports and report the differences.
- Online Help - The online help file is configured to stay on top of the main program
and while viewing help, you must move your windows around to access the program while help
is open. This made using the help program difficult as I had to close it to work with
the program effectively. I'd like to see the help window as a normal window that can be placed
beneath the program window when needed.
- Documentation Errors - If these occur (and I do seem to get them most times I run this process)
a hot link to the log or a presentation of the error would be a nice touch.
- UI - The interface is better than many products, but like most products, the interface could make its use
a little easier.
- Objects owned by users other than the 'dbo'. - Usually I do not have any objects that
are owned by other users, but I do support a third party database that does have objects owned
by a user. These objects are not documented by Total SQL Analyzer. A big oversight and a bug that
I hope will be corrected.
- Scheduling - It would be nice to be able to script against the product or for the product
to allow multiple jobs to be scheduled. Especially for someone who must manage multiple servers
and would like to setup a regular rotation of jobs.
8027 Leesburg Pike, Suite 410
Vienna, VA 22182
Total SQL Analyzer
|$499 ($399 as this is written)
|$1499 ($1299 as this is written)
|$4999 ($3999 as this is written)
As always, I welcome feedback for this article (use the 'Your Opinion' tab below) and please take
the time to rate this article.
©dkRanch.net August 2001