Reinit missing message

In a multi-site hierarchy, Configuration Manager uses SQL Server replication to transfer data between sites. For more information, see Database replication.

Use the following diagram to start troubleshooting a missing message with SQL Server replication reinitialization (reinit):

Diagram to troubleshoot reinit missing message

Queries

This diagram uses the following queries:

Check if site replication hasn't finished reinit

SELECT * FROM RCM_DrsInitializationTracking dt
INNER JOIN ReplicationData rg
ON dt.ReplicationGroup = rg.ReplicationGroup
WHERE dt.InitializationStatus NOT IN (6,7)

Get the TrackingGuid & Status from subscriber site

SELECT RequestTrackingGUID, InitializationStatus
FROM RCM_DrsInitializationTracking dt
INNER JOIN ReplicationData rg
ON dt.ReplicationGroup = rg.ReplicationGroup
WHERE dt.InitializationStatus NOT IN (6,7)

Get the TrackingGuid & Status from the publishing site

SELECT RequestTrackingGUID, InitializationStatus
FROM RCM_DrsInitializationTracking dt
WHERE RequestTrackingGUID=@trackingGuid

Remediation actions

Version 1902 and later

To detect the issue and reinit, run the Replication Link Analyzer.

Version 1810 and earlier

Run the following SQL query to get the ReplicationGroupID:

SELECT rd.ID AS ReplicationGroupID from ReplicationData rd
INNER JOIN RCM_DrsInitializationTracking it ON rd.ReplicationGroup = it.ReplicationGroup
WHERE it.RequestTrackingGUID=@trackingGuid

Then use the InitializeData method on the SMS_ReplicationGroup WMI class with the following values:

  • ReplicationGroupID: from the SQL query above
  • SiteCode1: parent site
  • SiteCode2: child site

For more information, see InitializeData method in class SMS_ReplicationGroup.

Example

Invoke-WmiMethod –Namespace "root\sms\site_CAS" -Class SMS_ReplicationGroup –Name InitializeData -ArgumentList "20", "CAS", "PR1"

Next steps