Troubleshooting SCCM Database Replication Service (DRS)

Problem: SCCM Database Replication Service is not working

Solution: Service Broker had been disabled on MSDB, causing SCCM DRM to fail

I was recently called in to assist with a large System Center Configuration Manager (SCCM) environment where the Database Replication Service (DRS) was not processing messages. As a SQL Server engineer, I’ve supported customer environments running SCCM for several years now and have helped to troubleshoot DRS issues in the past, but it is certainly not something I do on a regular basis. We were able to resolve it pretty quickly, but this was a new issue (to me) and one that wasn’t easily discoverable through internet searching by the customer.

Step 1 – Run RLA (Replication Link Analyzer) to find any errors

Interestingly, RLA reported “Issues Detected”, but all of the steps succeeded and reported success.

Replication Link Analyzer

Step 2 - Run “spDiagDRS” to get a thorough description of DRS activity/components

When we ran spDiagDRS, I noticed that no messages had been processed in the past hour and that there were outgoing messages in the queue.

SPDiagDRS

Step 3 - Given these results, I decided to run Profiler on two of the endpoints to capture the Service Broker events.

SQL Server Profiler

Profiler immediately highlighted the issue that "The broker is disabled in msdb"

Step 4 – Check if Service Broker is enabled in MSDB

Sure enough, Service Broker had been disabled in MSDB. In this case, it had been disabled when the customer restored MSDB from a backup the previous evening. Since Service Broker is disabled upon restore by default, this was the root cause of the DRS issue.

MSDB Properties

Step 5 – Run spDiagDRS again to verify success

After enabling Service Broker in MSDB, we ran spDiagDRS again and saw that the outgoing messages had been processed and everything was functioning as expected again.

SPDiagDRS SCCM

This one turned out to be a pretty easy investigation, but one that I hadn't experienced before. If you end up stuck on DRS issues, the combo of spDiagDRS and Profiler capturing Service Broker events is a great start.

Sam Lester (MSFT)