Let’s try to identify and FIX SCCM SQL Backlog Issues using SQL Transmission Queue Stored Procedures. How to Fix SCCM ConfigMgr Inbox Backlog Issues Endpoint Manager.
You can have a look at the Site to Site Replication post for more details about the new replication model. This post is a continuation site-to-site replication post.
A number of Stored Procedures can be used to find more details about the backlog along with monitoring of Transmission Queue.
The first and very useful one is the stored procedure called “spDiagDRS”. Run “EXEC spDiagDRS” to get the below results (shown in the pic). SCCM SQL Backlog Issues.
How to Fix SCCM ConfigMgr Inbox Backlog Issues Endpoint Manager
Let’s try to understand How to Fix SCCM ConfigMgr Inbox Backlog Issues Endpoint Manager. The following are some of the SQL stored procedures and queries to help you to fix replication issues. However, you should start troubleshooting SCCM replication issues from the Replication Link Analyzer.
The stored procedure “spDiagDRS” will offer details about queued messages. Have a look at the columns named “OutgoingMessagesInQueue” and “IncomingMessagesInQueue”.
In an ideal scenario, there should NOT be any queued messages and the values of those columns should be ZERO. In my example, “OutgoingMessagesInQueue” is 257 which means some error in the send and we have a backlog.
The stored procedure “spDiagDRS” will also tell us about the Status and LastSyncTime of each Replication Group. In my example, SiteSending is CAS and SiteReceiving is PR1. SCCM SQL Backlog Issues
The following spDiagDRS – How to Fix SCCM ConfigMgr Inbox Backlog Issues Endpoint Manager.
Apart from spDiagDRS, there are some very useful stored procedures that we can use at the time of backlog troubleshooting. See, the list of Stored Procedures below.
More details about these stored procedures in future blog posts. For the time being, you can check out the following examples of these along with parameters.
EXEC spDiagMessagesInQueue EXEC spDiagGetReplicationGroupStats EXEC spDiagGetProcedureStats EXEC spDiagGetQueryStats EXEC spDiagGetRunningQueries EXEC spDiagStartTrace EXEC spDiagStopTrace
Transmission Queue is another option that we should look at, in case of a backlog (or the outgoing messages are stuck).
All the other queues (ConfigMgrDRSSiteQueue, ConfigMgrRCMQueue, ConfigMgrDRSMsgBuilderQueue, ConfigMgrDRSQueue etc. ) shown in the following pic are application-related queues.
SCCM SQL Transmission Queue
To check the Transmission Queue, you need to run the below SQL query. With the below query, we can check Transmission for a particular primary site (in the below query – CAS server site code = CAS. Primary site code is PR1). SCCM SQL Backlog Issues.
SQL Query to check the transmission_status in SCCM SQL based replication is given in the below link – SCCM-SQL-backlog-Check-Query/SQL Backlog Check.sql at main · AnoopCNair/SCCM-SQL-backlog-Check-Query (github.com)
In the below pic, you can see the records waiting for transmission. Have a look at the “transmission_status” column, this will provide more details about any transmission errors. This will be very helpful for further troubleshooting.
How to Fix SCCM ConfigMgr Inbox Backlog Issues Endpoint Manager?
vLogs view is the DRS (Data Replication Service) log file. This will provide us with more details about the DRS process and backlog. SCCM SQL Backlog Issues
Run the following SQL query – to get more details about these logs.
Select top 1000 * from vLogs order by LogTime desc
SCCM SQL Backlog Issues
RCM_ReplicationLinkStatus table can also provide us with more details about the link status between the sites.
Run the SQL Query – “select * from RCM_ReplicationLinkStatus” . Look at the StatusName column for more details like Failed, Degraded, etc.
select * from RCM_ReplicationLinkStatus
TRACE stored procedure – For In-depth analysis of backlog. This can be performed by using the following stored procedures. Caution – this will create a lot of overhead on the SQL server and also use a lot of disk space because of the creation ConfigMgrDBTrace.trc file.
EXEC spDiagStartTrace EXEC spDiagStopTrace
You can start the trace process with “EXEC spDiagStartTrace”. This process will create trc (trace file) – in the SQL installed location “C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\ConfigMgrDBTrace trc”.
Also, this process will start tracing each and every event of the SQL server. To stop trace use “EXEC spDiagStopTrace”. Ensure that you STOP the trace ASAP otherwise it may create some adverse impact on the server. SCCM SQL Backlog Issues.
You can use SQL Server Profiler to open the trc file. You will get depth details about each event performed by the SQL server during the time of TRACE. like Duration, EventClass, StartTime, etc.
Anoop C Nair is Microsoft MVP! He is a Device Management Admin with more than 20 years of experience (calculation done in 2021) in IT. He is Blogger, Speaker, and Local User Group HTMD Community leader. His main focus is on Device Management technologies like SCCM 2012, Current Branch, and Intune. He writes about ConfigMgr, Windows 11, Windows 10, Azure AD, Microsoft Intune, Windows 365, AVD, etc.