How Client Assignment and Client Push Happen in SCCM



AskPFEPlat is in the process of a transformation to the new Core Infrastructure and Security TechCommunity, and will be moving by the end of March 2019 to our new home at (hosted at Please bear with us while we are still under construction!

We will continue bringing you the same great content, from the same great contributors, on our new platform. Until then, you can access our new content on either as you do today, or at our new site Please feel free to update your bookmarks accordingly!

Why are we doing this? Simple really; we are looking to expand our team internally in order to provide you even more great content, as well as take on a more proactive role in the future with our readers (more to come on that later)! Since our team encompasses many more roles than Premier Field Engineers these days, we felt it was also time we reflected that initial expansion.

If you have never visited the TechCommunity site, it can be found at On the TechCommunity site, you will find numerous technical communities across many topics, which include discussion areas, along with blog content.

NOTE: In addition to the AskPFEPlat-to-Core Infrastructure and Security transformation, Premier Field Engineers from all technology areas will be working together to expand the TechCommunity site even further, joining together in the technology agnostic Premier Field Engineering TechCommunity (along with Core Infrastructure and Security), which can be found at!

As always, thank you for continuing to read the Core Infrastructure and Security (AskPFEPlat) blog, and we look forward to providing you more great content well into the future!


Hello All! Prathista here from the SCCM PFE world to give you some insights about the client assignment process and how client push is triggered when automatic client push is enabled. Many have faced the issue that automatic client push is not happening, despite you have all the boundaries and accounts in place. This is something I have come across multiple instances even in my previous role and had always been a mystery if it is the DDM or CCM itself or something else! Worst part, we will not see much information from ddm logs without verbose. Even with verbose, not much details related to ccr creation or client push trigger.

For those who are new with these terms, here is a quick background,

CCM – Client Configuration Manager – the component responsible for performing the client push and communicating with the client.

CCR- Client Configuration Record – the record which will be created for the CCM to read and process the request.

DDM – Discovery Data Manager – the component responsible for processing the newly discovered/heartbeat discovery records.

DDR – Data Discovery Record – the record which will be created for the DDM to read and update the DB and other actions depending on the type.

Here is an easy flow chart I have created for a better understanding of the flow.

The log snippets are taken from my lab with a CAS and 2 primaries and the client in the log snippet here (CL1) has its boundary in NYC primary.

An interesting thing to note here; I noticed many technet forums talking about manually deleting the duplicate entries from System_SMS_Assign_ARR table. It might not help much because these entries will still pop up after every discovery.

The duplicate entries happen in the following scenario,

  1. You have secondaries in your environment.
  2. Your secondaries’ boundary groups have site assignment checkbox enabled (refer to the screenshot below) with the Secondary site code.

An important thing to note, refer to the following statement from the article:

“Clients cannot be assigned to a central administration site or to a secondary site.”

The duplicate entries can be identified using the following query,

select * from System_SMS_Assign_ARR where ItemKey in
(select ItemKey from System_SMS_Assign_ARR group by ItemKey
Having COUNT(itemkey) > 1)

This could also lead to client push not able to be triggered because the particular resource is assigned to both primary and secondary site code. To fix this issue, uncheck the site assignment from Secondary’s boundary and you can see these duplicates immediately disappear and automatic client push will be triggered soon after the resource is discovered.

Thanks for reading, and I hope this helped solve the mystery around client assignment and automatic client push, which I always had