This problem occurs if the Windows Management Instrumentation (WMI) property on the SMS client contains two or more site codes. In this situation, the following process occurs:
An SQL statement that resembles the following runs to insert the three-character site code into the SMS_Assigned_Sites0 column of the SMS database:
insert into System_SMS_Assign_ARR (ItemKey, SMS_Assigned_Sites0) values (25912, "SMS:XXX")
The SMS_Assigned_Sites0 field is four characters wide. In this scenario, the DDR processing operation removes the SMS part from the site code. Therefore, site code information such as SMS:XXX is truncated to XXX.
If the DDR XML contains two SMS_AUTHORITY instances, the SMS part of the second SMS_AUTHORITY instance is incorrectly concatenated to the site code during DDR processing. Therefore, the site code becomes seven characters. For example, site code information such as SMS:XXX becomes the site code SMS:XXX.
The SQL INSERT statement fails when it tries to insert the seven-character site code into the four-character field.
To determine whether the WMI property on the SMS client contains two site codes, follow these steps:
Locate the DDR of the computer that is blocking the ddm.box queue. To do this, follow these steps:
Open the drive:\SMS\Logs\ddm.log file.
Locate the DDR entry that contains the error entry that is described in the "Symptoms" section.
Note A typical DDR processing entry starts with information that resembles the following:
file <fileName>.DDR SMS_DISCOVERY_DATA_MANAGERProcessing NEW <System>... SMS_DISCOVERY_DATA_MANAGERName = <ComputerName> SMS_DISCOVERY_DATA_MANAGER
Note the name of the DDR file together with the computer name that is associated with the DDR file.
In the drive:\SMS\ddm.box folder, open the fileName.DDR file to verify the NetBIOS name of the computer. In the following example, the NetBIOS name of the computer is Computer-1:
On the particular client computer, start the Windows Management Instrumentation Tester program. This program is also known as WBEMTest. To do this, click Start, click Run, type wbemtest, and then click OK.
Examine the content in the SMS_AUTHORITY class. To do this, follow these steps:
In Windows Management Instrumentation Tester, click Connect.
In the Connect dialog box, type root\ccm, and then click Connect.
In the Windows Management Instrumentation Tester, click Open Class.
In the Enter Target Class Name box, type sms_authority, and then click OK.
If two or more SMS_AUTHORITY instances are displayed, you may experience the problem that is described in the "Symptoms" section.
To resolve this problem, follow these steps:
Apply the hotfix that is mentioned in the "Hotfix information" section to the SMS site server.
Remove the SMS agent from the affected client computer, and then reinstall the SMS agent on the client computer. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
826842 How to remove a Systems Management Server 2003 client
A supported hotfix is available from Microsoft. However, this hotfix is intended to correct only the problem that is described in this article. Apply this hotfix only to systems that are experiencing this specific problem. This hotfix might receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next software update that contains this hotfix.
If the hotfix is available for download, there is a "Hotfix download available" section at the top of this Knowledge Base article. If this section does not appear, contact Microsoft Customer Service and Support to obtain the hotfix.
Note If additional issues occur or if any troubleshooting is required, you might have to create a separate service request. The usual support costs will apply to additional support questions and issues that do not qualify for this specific hotfix. For a complete list of Microsoft Customer Service and Support telephone numbers or to create a separate service request, visit the following Microsoft Web site:
Note The "Hotfix download available" form displays the languages for which the hotfix is available. If you do not see your language, it is because a hotfix is not available for that language.
You must have Systems Management Server 2003 Service Pack 2 installed to apply this hotfix. For more information about how to obtain the latest Systems Management Server 2003 service pack , click the following article number to view the article in the Microsoft Knowledge Base:
885643 How to obtain the latest Systems Management Server 2003 service pack
You do not have to restart the computer after you apply this hotfix.
Hotfix replacement information
This hotfix does not replace any other hotfixes.
The English version of this hotfix has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time item in Control Panel.
Microsoft has confirmed that this is a bug in the Microsoft products that are listed in the "Applies to" section.
In some environments, the Active Directory directory service discovery process may cause the generation of incorrect DDRs. You may experience this problem even when the hotfix from this article is applied. Therefore, if you enable Active Directory discovery, you may receive the same error entries that are mentioned in the "Symptoms" section.
To resolve this problem, contact Microsoft Product Support Services to help you remove the incorrect record from the SMS database. For more information about how to contact Product Support Services, visit the following Web site:
For more information about the terms that are used in this article, click the following article number to view the article in the Microsoft Knowledge Base:
824684 Description of the standard terminology that is used to describe Microsoft software updates
How to manually resolve problems with incorrect DDRs
To manually resolve problems with incorrect DDRs if SMS 2003 Active Directory System Discovery is used, follow these steps:
Remove the client computer that is identified by the ddm.log entry from any Organizational Units (OU) that are scanned by SMS 2003 Active Directory System Discovery.
Stop the SMS Executive service on the site server.
Copy the backlogged DDRs that are located in the following folder to a different folder location:
Note By default, the backlogged DDRs are located in this folder.
Restart the SMS Executive service.
Open the SMS 2003 Administrator console on the site server.
Find the SMS client that is identified by the ddm.log entry from the All Systems collection within the SMS Administrator console, and then delete the SMS client.
Note The client record cannot be directly deleted from the System_SMS_Assign_ARR table in the site server database because of foreign key (FK) constraints. Therefore, you must use the SMS Administrator console to delete the client record.
Run the "Advanced Client and Management Point Cleaner" (Ccmclean.exe) utility from the SMS 2003 Toolkit 2 on the client computer. For more information about Systems Management Server 2003 Toolkit 2, visit the following Microsoft Web site:
Check the site server database for other duplicate GUIDs by using SMS Administrator console\Reporting\Reports. The specific report to use is named "Computers that share the same SMS Unique ID, Report number 73."
Note For more information about how to correct a situation in which you find that multiple SMS clients share the same unique identifier, click the following article number to view the article in the Microsoft Knowledge Base:
837374 How to locate and clean Advanced Client Duplicate GUIDs in SMS 2003
Use SQL Server Enterprise Manager or SQL Server Management Studio to verify that the ddm.log file has no references to entries for the client ID in the System_SMS_Assign_ARR table.
Add the client workstation back to the OU that is being scanned.
Run the discovery again, and verify that the client has been added correctly.
Verify that there is only one entry for the client ID in the System_SMS_Assign_ARR table.
Note The computer will probably obtain a new machineID so that you must search the Name0 column of the System_Disc table for the NetBIOS name. Then, use the MachineID value from this table when you search the System_SMS_Assign_ARR table.