Monitoring and Troubleshooting Replication Using SQL Server 2005
The first two articles in this series taught you how to set up and maintain transactional replication with SQL Server 2005. The latest release of SQL Server introduced numerous enhancements to replication, and monitoring tools have changed quite a bit. This article shows you how to monitor and troubleshoot replication issues.
Meet Replication Monitor 2005
Replication monitoring has the following goals:
- Ensure that replication is running and transactions are being delivered to subscribers.
- Verify that replication performance is acceptable. This entails delivering transactions within a reasonable time frame so that data on the subscriber(s) is consistent with data on the publisher.
- Identify and troubleshoot any errors or replication performance issues.
Microsoft did an excellent job of addressing these monitoring needs with SQL Server 2005; the new suite of tools enables you to perform all this functionality with relative ease. The new toolset does take some time to get used to, however.
You can invoke Replication Monitor by right-clicking the replication folder (or local publications’ folder) within SQL Server Management Studio (SSMS) and choosing Launch Replication Monitor. In previous releases of software, Replication Monitor ran in the same window as Enterprise Manager; with SQL Server 2005, Replication Monitor runs in a separate window. I have to warn you that Replication Monitor window sometimes takes awhile to activate, particularly on slow servers with much processing activity. Being an essential and excellent tool for troubleshooting replication, I hope this minor issue with Replication Monitor will be corrected soon. The good news is that replication improvements introduced with SQL Server 2005 far outweigh the few problems you might encounter on slower servers.
Replication Monitor has two panes: the left pane shows you the list of publishers and any associated publications; the right pane displays the status of each subscription to the selected server’s publications. If you don’t see a publisher that you want to monitor, you can right-click the My Publishers node and choose Add. Doing so will open a dialog box that enables you to create a new monitoring group, and add or remove SQL Server or Oracle publishers (as shown in the following figure).
Replication Monitor allows overseeing of publications and subscriptions running previous releases of SQL Server, but new features will be available only for instances running SQL Server 2005.
The default tab of the Replication Monitor tells you whether any subscriptions are currently synchronizing, shows their current average performance, and shows the current worst performance. You’ll learn about replication performance monitoring later in this article; for now, let’s briefly review the initial screen displaying all publications associated with the current publisher (see the following figure).
If you click a particular publication in the left pane, the right pane will show data specific to that publication; by default, data related to all publications are displayed. The Subscription Watch List tab in the right pane will be your best friend if you have dozens of subscriptions—this tab enables you to filter the list of all subscriptions to only those you’re interested in. This tab has two drop-down boxes that help you focus on relevant subscriptions. The first drop-down box enables you to pick the subscription type: snapshot, transactional, or merge; the second drop-down box is performance-related and allows the following options:
- Show 25 worst-performing subscriptions
- Show 50 worst-performing subscriptions
- Show errors and warnings only
- Show errors only
- Show warnings only
- Show subscriptions running (not stopped due to error)
- Show subscriptions not running
The Common Jobs tab allows starting, stopping, and refreshing the replication jobs that apply to all subscriptions, as shown in the next figure.
You can right-click any of these jobs to view the job properties, start the job, or stop the job as needed. You can also manage replication jobs (along with other types of jobs) from the Job Activity monitor shown in the next figure. Having a user interface specific to replication common jobs does come in handy if you have hundreds of other jobs on your server.
Notice that Job Activity monitor has a filtering mechanism that can help you reduce the number of jobs displayed; for example, the following setting shows only those jobs that contain the word distribution in their name.