Have you ever managed a SQL Server environment that only had one SQL Server? In my years as a DBA, I sure haven't. There were always multiple servers. That brings up one of the primary shortcomings of the tools Microsoft provides with SQL Server: They're focused on managing one server at a time.

If you want to set the recovery model on all your databases and all your servers to full, you need to connect to each one individually to do so. What if you want to set up alerts or view job status for all your servers in one place? The built-in tools just don't give you this kind of flexibility. This is where EZManage SQL comes into play. EZManage SQL brings all the databases in your entire SQL Server enterprise under one management umbrella.

The actual setup is just your traditional wizard-based install. After installation is complete, though, you have to set up a repository. The repository is just a SQL Server database that's set up the first time you run EZManage SQL. As long as your account has access to the SQL Server upon which you want to set up the repository, you shouldn't have any problems. This wasn't really explained in the documentation.

Speaking of documentation: it's my only complaint about EZManage SQL. It's devoid of anything resembling a user's manual or help file. While the application itself is pretty straightforward, a help file or manual would have been nice.

Keeping Tabs
So what exactly does EZManage SQL do for you? It gives you a single location from which you can manage all of your SQL Servers. The Servers View screen gives you a quick picture of your servers. You can see the status of all services, as well as a graph of disk-space usage and active connections (see Figure 1). You can also find out if any of your databases are in an overall state other than OK. You can dig deeper to see any errors, warnings or informational messages. All and all, it's a pretty nice status board.

EZManage SQL presents the same type of dashboard for each individual database through the Database View. Here again, EZManage SQL gives you all the data you'd need to see about your databases, including status, size, free space, connections, number of objects and so on.

The real power of EZManage SQL, though, lies in its ability to help you manage all your SQL Servers in one shot. Using EZManage SQL, you can set up Maintenance Rules that you can apply to all your SQL Servers. There are several pre-defined rules. Naturally, you can also set up your own. The rules fall into four categories:

Database Properties: With these, you can set the various properties of your databases, such as status and recovery model.

Database Optimization: These let you set up schedules for re-indexing, shrinking, updating statistics and integrity checks.

User-Defined Maintenance: With these rules, you can have just about any type of script run on all your servers.

Once you've defined these rules, you put them together in a Maintenance Suite. Maintenance Suites are nothing more than groups of rules that you want to apply to a server or group of servers. This gives you the flexibility to set up different schedules depending on the role of the SQL Server.

Notification Options
You'll manage notification settings in much the same way as maintenance rules. You define what you want to be notified of when it happens, who to notify and what severity level to consider the notification. You can then save these settings as a Notification Suite.

Notification is broken into two parts, for servers and databases. For servers, you can be notified when one of the following things happen:

A database is detached or attached

A database is created or deleted

CPU usage hits a certain level

Free memory falls too low

Hard drives begin filling up

A scheduled job fails to run.

On the database level, EZManage SQL can notify you of the following:

Data or log files reach a certain size

When a backup runs or there hasn't been a backup in any number of days

Certain properties are not what you expect, like status or recovery model.

One last gem I want to mention is the ability of EZManage SQL to run Multi-Server Queries. Simply by Ctrl-clicking all the servers on which you want to run a query, you can have EZManage SQL connect to and run the same query on all those servers. This is great for quick maintenance or updates to third-party apps.

EZManage SQL is a great tool for DBAs, especially if you're managing a large number of servers. Everything you need to effectively manage and monitor your servers is here in one convenient and easy-to-use tool. My only gripe is the lack of documentation, but if you've worked with SQL Server, you should be able to find your way around the tool in short order.