Total SQL Analyzer
Tremendous Bang for the Buck
By Thomas Wagner
One of the aspects in which SQL Server 7.0 and later versions differ from many other databases on the market is in SQL Server's support for the Distributed Management Object (DMO) interface. This interface has mapped the server- and database-management functionality typically provided by the SQL Server Management Console to a set of COM objects. In short, DMO allows a programmer to manipulate the server in much the same way as a database administrator might via the Enterprise Manager. DMO is the cornerstone of FMS' Total SQL Analyzer. Through the extensive use of this interface, Total SQL Analyzer can dissect the contents of SQL Server and report in marvelous detail about the internals of any database.
In the product's jargon, a documentation session is called a job. Job-definition information is stored in a JET data file. The results of an analysis job are stored in a second JET data file. The only limitation of which I am aware is that Total SQL Analyzer is unable to document multi-server systems. However, I suspect that organizations that deploy multi-server systems would not be typical FMS customers and probably account for a small percentage of SQL Server users overall.
The product's IDE allows you to define, run, view, and print job results quickly. FIGURE 1 illustrates an example job in which I had the program dissect all databases located on a development machine.
FIGURE 1: An example job in Total SQL Analyzer.
I found several choices FMS made when creating Total SQL Analyzer to be thoughtful and based on great attention to detail. For example, the product lists results in a menu tree that uses the same icons as SQL Server. That's just one usability advantage. You won't waste time figuring out that a particular icon really stands for the stored procedure section.
Dozens of Reports
Doing an analysis job is one way to work with Total SQL Analyzer. More importantly, though, in my mind, the user will be able to use more than 70 reports that ship with the program. Here is a small sample list of reports:
- Database Object Inventory, Sorted by Database and Object
- Database Scripts, Sorted by Database
- Replication Distributor Properties, Sorted by Property Name
- Replication Properties, Sorted by Property Name
- Replication Publisher Properties, Sorted by Property Name
- Stored Procedure List with T-SQL, Sorted by Procedure
- Table Dictionary, Sorted by Table Name
- Table Dictionary with Column Properties, Sorted by Table Name
- User Defined Function Properties, Sorted by Function
- View List with T-SQL, Sorted by View
One of my personal favorites is the Issues report. Here's a partial list of some of the flags it could raise:
- Lock Timeout set to default (Server)
- Max Asynchronous IO set to default (Server)
- "sa" user with no password (Server)
- Column consistency issues (Server)
- Database and transaction log share physical drive (Database)
- Database has multiple owners (Database)
The column-consistency check is especially useful. It pointed out that a database I have inherited contained several columns with data-type problems (varchars of different sizes that should have been the same).
In order to select and print a report, you pick the type of objects you want to output, and then a specific report applicable to the object. FIGURE 2 illustrates the report-selection dialog box.
FIGURE 2: Selecting one of dozens of reports available in Total SQL Analyzer.
In order to provide maximum flexibility, it is also possible to filter certain reports by concentrating the output on one database or, alternately, one object type across numerous databases.
And, finally, there is the printed output. I am certain I've missed other useful pieces of information Total SQL Analyzer reports, so I suggest you visit the FMS Web site for more detailed information. There isn't enough space in this magazine to show the output in detail.
The Bottom Line
Total SQL Analyzer is a unique tool with a great price. I'm not certain this product has any competition. One of the products in Embarcadero's suite, which would cost much more, might come close. Building on 15 years of experience, FMS continues to deliver outstanding bang-for-the-buck development tools. I highly recommend this product.
Thomas Wagner is chief executive officer of etechpartner, Inc., located in Los Angeles, CA. Readers may reach him at mailto:[email protected].
Total SQL Analyzer provides detailed analysis of any database. The product comes with 70 report options, such as Database Object Inventory, Sorted by Database and Object. An enhanced version of the product, Total SQL Analyzer Pro, was released recently and offers detailed analysis, improvement suggestions, and dependency information.
8027 Leesburg Pike, Suite 410
Vienna, VA 22182-2710
Phone: (703) 356-4700 or toll-free at (866) 367-7801
E-Mail: mailto:[email protected]
Web Site: http://www.fmsinc.com
Price: Total SQL Analyzer single-user license, US$499; Total SQL Analyzer Pro single-user license, US$999.