The SQL Health and History tool (SQLH2) started in 2004 as the brainchild of Terrence Nevins (who at the time was the Microsoft SQL Server architect and program manager for the SQL Server Scalability team) and Grigory Polgusky (who acted as the lead designer and software developer for the product). At the time SQLH2 was developed, the Scalability team needed to record the activity and behavior of users and software while dramatically increasing SQL Server utilization levels. The team wanted to learn not only what factors contributed to OS and database service slowdown, problems, and outages, but also what particular events precipitated them. Of course, these capabilities are of keen interest to SQL Server customers, too.When you use SQLH2 in your environment, you can use the information the tool provides to manage database changes and track performance trends so that you can proactively head off potential performance problems, even as your utilization increases.

Functionality
SQLH2 polls one or more SQL Servers and records a variety of information about the servers in a central repository. The tool collects the data in snapshots at regular intervals (by default, twice per week) so that you can compare and forecast your system's behavior. SQLH2 collects four main types of information:

  • Feature Usage—Tells you which services and features are installed and running and the level of workload on each service
  • Configuration Settings—Reports machine, OS, and SQL Server configuration settings and SQL Server instance and database metadata
  • Uptime—Tells you the amount of time the SQL Server service has been running
  • Performance Counters (optional)—Provide a variety of information for determining performance trends

SQLH2 documents all changes to your SQL Server 2005 and 2000 servers, including patches, database growth, changes in database settings, and performance-monitor counters.The utility tracks more information about SQL Server 2005 than SQL Server 2000, including data about triggers, assemblies, and backups. And the tool collects all of this information without requiring you to install any components on the target server and at an overhead of less than 1 percent. Therefore, SQLH2 is a great tool for both change control and trending for a multi?SQL Server environment.

Figure 1 shows an example SQLH2 configuration, in which server A collects performance and change-history information from target servers B, C, and D.

The simple architecture includes four basic components:

  • Collector—Collects and stores performance and historic data
  • Repository—SQL Server database repository for SQLH2 data
  • Performance Collector—Optional, standalone Windows service that collects and stores performance counter data from the target servers
  • Reports—Optional set of reports that provide multiple views of the data collected by SQLH2

These components let you look back in time to see configuration data and examine whether your servers are meeting your baseline performance expectations. When you detect that a server isn't meeting the baseline, you can drill down for root-cause analysis. Conversely, SQLH2 is good at revealing under-utilized servers that might be ripe for more databases or a greater user load.

Despite the fact that SQLH2 collects performance-counter information, you shouldn't consider it a real-time monitoring tool or an alerting tool.And although it can help you identify performance bottlenecks, it really isn't intended to be a hard-core diagnostic tool. Instead, think of SQLH2 as a method of reducing hundreds of mouse-clicks into a clean, concise trending and change-management tool. Also note that SQLH2 doesn't work on clustered servers or on SQL Server versions before SQL Server 2000. However, you can use SQLH2 with SQL Server Express to reduce your licensing costs.

Reporting and Documentation
The best thing about SQLH2 is that it ships with 13 ready-made SQL Server Reporting Services reports that make viewing the collected information a snap.You can use these reports to check on one server or to compare one server to another. Table 1 shows some of the reports available for SQLH2. Note that some reports are specific to SQL Server 2005 and,as such,don't provide any data about SQL Server 2000 target servers.

SQLH2 also includes nice documentation, including a comprehensive installation guide, FAQ, and data dictionary in case you want to write custom reports based on the data in the central repository. Figure 2 shows a SQLH2 database diagram, which you can use to build custom reports.

On top of the great documentation, SQLH2 is supported through various newsgroups as well as through the SQLH2@microsoft.com email alias, where you can send questions, comments, and feedback.

SQL SERVER HEALTH AND HISTORY TOOL
BENEFITS: Provides change and trending information to help you proactively head off potential performance problems

SYSTEM REQUIREMENTS:

  • OS: Windows Server 2003, Windows XP, Windows 2000 (through SP4), Windows NT
  • .NET Framework 1.1.4322 (installed on the central repository server)
  • A repository database on a SQL Server
  • Reporting Services (for viewing optional reports)
  • The bulk copy program bcp.exe (on the repository server)

COMMENTS: In addition to the system requirements, you'll need to create a share that's available to both the central repository server and all of the target servers. SQLH2 uses this share to create and move the data from the various target servers. SQLH2 writes all data that it collects directly to files within the share. Once a file grows to a predefined size (1MB by default), the tool closes the file and loads the data into the central repository.

HOW TO GET IT: Download at http://www.microsoft.com/downloads/details.aspx?FamilyID=eedd10d6-75f7-4763-86de-d2347b8b5 f89&DisplayLang=en

End of Article




You must log on before posting a comment.

If you don't have a username & password, please register now.

Reader Comments

When I try the download link, I get this error message: "The download you requested is unavailable. If you continue to see this message when trying to access this download, go to the "Search for a Download" area on the Download Center home page. "

Anyone else had this happen?

djdevelop

Article Rating 5 out of 5

Maybe the space between b5 and f89 in the posted link was the culprit. This worked for me:http://www.microsoft.com/downloads/details.aspx?FamilyID=eedd10d6-75f7-4763-86de-d2347b8b5f89&DisplayLang=e n

Great article, Kevin!

djdevelop

Article Rating 5 out of 5

No future for SQLH2???

I was wondering if anyone has heard if Microsoft has any future plans for the SQLH2 tool or will it let the tool quietly fade away...

kgoins

Article Rating 4 out of 5

Hi - I'm posting this out in the Tool Time forum - maybe there are some opinions out there! Diana

DianaMay

Article Rating 4 out of 5

Never mind - you beat me to it!!!

DianaMay

Article Rating 5 out of 5

Never mind - you beat me to it!!!

DianaMay

Article Rating 5 out of 5

This is what I have learned so far... I was fortunate enough to speak to one of the higher ups at Microsoft and it appears the SQLH2 Tool is alive and kicking! Certain individuals are working on making improvements to the tool. Unfortunately, there are some questions on how the tool will be positioned as it relates to the MOM product but I believe the tool feels a void for small to medium shops with budgetary constraints. Anyway I hope this info helps someone out there if he/she is on the fence about building there own tool or using SQLH2...

kgoins

Article Rating 4 out of 5