ConfigMgr SCCM How to Resolve Duplicate or Conflict Record Issue

8

I have seen lot of DUPLICATE record related issues faced by lot of people in the Forums. William Eriepa has explained the issue as below in the technet thread.

ISSUE (Credits to William Eriepa)

“Hi. I am having a intermittent issue with duplicate records showing up for computers only. The issue seems to be attributed to the different discovery methods that SCCM uses. I’ve read many different posts on Technet and other sites but have been unable to find a solution. I’ve checked the related discovery logs, and haven’t seen any discovery errors or issues that I can discern.

I have a single primary site that uses discovery. My hierarchy is R3. Here are my discovery settings:

AD System Discovery: 2days (5min delta)
AD System Group Discovery: 15minutes (5min delta)
Heartbeat Discovery:8 hours
Network Discovery:Disabled

The basic problem is when I build a new computer sometimes it will do as follows:

1. Computer is built through OSD – Once built SCCM client sends a DDR to the Site Server and a record is created for it.

2. Up to 15 minutes later when AD Sys Grp Disc runs, the record is populated with the correct AD Group/OU information etc.

3. Up to 2 days later when AD Sys Disc runs, a new record is created for the same computer. This record has for most of the fields including the SMSGUID, but it does have the correct AD Group/OU information (i.e. this record was created directly from AD/DNS but is in no way associated with the computer record already in SCCM).

4. Further AD Sys Grp Discoveries only update the new record that isn’t linked to the actual client

5. The original record (that is linked to the actual client) loses the AD Group/OU information it had, and is no longer updated by further AD Sys Grp Discoveries. Heartbeat discoveries continue to work as per normal.


This problem is far from consistent. Recently I built eight computers PC01 – PC08 at exactly the same time, out of them only PC02 experienced this problem. The original record for PC02 was created on 11/03/2011 4:53:56pm via the DDR/Heartbeat Discovery, this record was correctly processing AD Sys Grp Discoveries. Then another record for PC02 was created on 12/03/2011 12:15:35 am via AD Sys Disc. At this point the original record lost its AD Group/OU associations and no longer processed AD Sys Grp Disc.

Deleting the “new” record created by AD Sys Disc results in the “original” record getting the correct AD Group/OU information during the next AD Sys Grp Discovery – so I do have a way to treat this problem, but I would like to find out what I can do to stop it happening in the first place.”

Workaround

Duplicate Records are created due to the discovery data manager mechanism which runs a query and sorts the results by date. It will update the most recent returned result rather than the active result if more than 1 result is returned. Any subsequent AD discovery will then update the NULL or inactive entry in the database instead of the active entry.

This is Know Issue with Microsoft. The workaround is available to remove the duplicate records. The below mentioned query will identify duplicate records of clients:

Select R.ResourceID,R.ResourceType,R.Name,R.SMSUniqueIdentifier,R.ResourceDomainORWorkgroup,R.Client from SMS_R_System as r full join SMS_R_System as s1 on s1.ResourceId = r.ResourceId full join SMS_R_System as s2 on s2.Name = s1.Name where s1.Name = s2.Name and s1.ResourceId != s2.ResourceId and R.Client = null

Once those duplicates are identified and fetched in to the collection, we can delete those records with following process. All future AD group discovery will update the correct record in the database.

1.Create a collection for colleting the duplicate system with NULL record. Please use the below query:
Select R.ResourceID,R.ResourceType,R.Name,R.SMSUniqueIdentifier,R.ResourceDomainORWorkgroup,R.Client from SMS_R_System as r full join SMS_R_System as s1 on s1.ResourceId = r.ResourceId full join SMS_R_System as s2 on s2.Name = s1.Name where s1.Name = s2.Name and s1.ResourceId != s2.ResourceId and R.Client = null
2.Once the collection is created and records are populated. Right click and select delete special.
3.This will delete all the systems which are populated in this collection.

8 COMMENTS

  1. Hi Anoop,
    i have followed this way and success but I have only one question that, If I create this collection on a central server then it is reflected on a down Primary server but the machines are reflected only Regional level . So after delete from central server . we have to delete from Primary server too. IS this real ??

  2. Hi Anoop
    We have a serious problem with this, that iv’e tried to fix for nearly two months now :-/
    On a new domain (Department that has been included in SCCM) we often see the duplicate created. Even at fresh installs.

    Problem is this:
    If the Duplicate is created during the TS-install, the dynamic Application install will fail?

    If the Applications do get installed they are only present in the duplicate without client and from SCCM it appears that no software is installed.

    Regards
    Thomas Ehler
    Systems Administrator
    Aarhus University

    • Hi Thomas ! – We’ve this issue in CM 12 as well. And we’re using SCCM 2012 OSD TS to build machines. To cater this we’re using 1) Auto approve all the computers 2) Script to merge the duplicate records. Have you already tried to use the script to merge SCCM duplicate records?

      Regards
      Anoop

  3. Hi Anoop,

    I have a different problem. I have multiple computer entries in multiple collections.All of them shows client installed.How can i identify which one is the correct computer and how can i resolve this .

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.