Hi Folks,
Todays’ post is a case study about ConfigMgr 2012 – WSUS sync issue. The issue started after the Software update point was moved to a different server. The WSUS was reinstalled there with a new database.
Just to revisit the concepts, we generally look into the WSyncMgr log to check the sync but before that we have the categories sync and connection happening from the WCM (WSUS Configuration Manager) component. Any configuration changes that we do in the SUP role (like adding or removing product/classification categories) will be configured by this component which actually changes the same in WSUS. This is the very reason we don’t touch WSUS when we are integrated with WSUS.
Coming to the issue we were getting the following the WCM.log -
----------
Category Product:44048288-2aac-b2b5-3730-fc020622ea05 (Firefox) not found on WSUS SMS_WSUS_CONFIGURATION_MANAGER 2/20/2014 2:25:38 PM 11288 (0x2C18)
Category Product:cc5cb1bb-6b87-94ae-f96a-f758195112a7 (Chrome) not found on WSUS SMS_WSUS_CONFIGURATION_MANAGER 2/20/2014 2:25:38 PM 11288 (0x2C18)
Subscription contains categories unknown to WSUS. SMS_WSUS_CONFIGURATION_MANAGER 2/20/2014 2:25:38 PM 11288 (0x2C18)
Failed to set Subscriptions on the WSUS Server. Error:(-2147467259)Unspecified error SMS_WSUS_CONFIGURATION_MANAGER 2/20/2014 2:25:38 PM 11288 (0x2C18)
----------
This is a known issue with the reinstall of WSUS where the categories which were published from SCUP won’t be found. This is because with the reinstall of the WSUS it will lose all custom published updates and categories. Here it is 'Firefox' and 'Chrome'
The solution to this being simple to remove the categories from the SUP product categories in the ConfigMgr 2012 console. But the strange thing here is we don’t see that in the categories list. But still we are asking for the same when we look in the WCM.log. One thing is that the customer has uninstalled SCUP. So with this disintegration we might have lost the categories in the console but the information is still present in the Database in the ConfigMgr.
-Seemed the only solution, we might have to get rid of this from the DB.
From the source code analysis came to know that we call
CWSUSConfigManager::GetSubscribedCategoriesmethod which actually iterates through the categories by running the below query
select CategoryInstance_UniqueID, CategoryInstanceName
from fn_ListUpdateCategoryInstances(9) cat
where cat.AllowSubscription=1 and cat.IsSubscribed=1 and cat.IsParentSubscribed=0
order by cat.CategoryInstance_UniqueID
We ran the above query to find if we have the 'Firefox' and 'Chrome' listed in the CategoryInstanceName.
Yes – It was.
From the above query we were calling the function and hence drilled down further to find the tables.
Ran the below select queries to verify the information from the tables.
select * from CI_CategoryInstances where categoryinstanceid in
(select categoryinstanceid from CI_LocalizedCategoryInstances where LocaleID = 9 and CategoryInstanceName ='Firefox'or
CategoryInstanceName = 'Chrome')
RESULT:
CategoryInstanceID CategoryInstance_UniqueID CategoryTypeName DateLastModified SourceSite ParentCategoryInstanceID IsDeleted rowversion 16777523 Product:cc5cb1bb-6b87-94ae-f96a-f758195112a7 Product 2013-11-27 21:05:23.000 AAR 16777522 0 0x0000000006B08673 16777549 Product:44048288-2aac-b2b5-3730-fc020622ea05 Product 2013-11-27 21:05:23.000 AAR 16777536 0 0x0000000006B08676
select * from CI_LocalizedCategoryInstances where LocaleID = 9 and CategoryInstanceName = 'Firefox' or
CategoryInstanceName = 'Chrome'
RESULT
CategoryInstanceID LocaleID CategoryInstanceName rowversion 16777523 9 Chrome 0x0000000006B08674 16777549 9 Firefox 0x0000000006B08677
Match it to be sure if they are the correct records.
Next thing was to get rid of them.
* Make sure we have a backup of the DB before we run any delete query. Also, do not delete anything without the recommendation from the Microsoft Premier support.
We deleted the information from the DB by running the below query –
deletefrom CI_CategoryInstances where categoryinstanceid in
(select categoryinstanceid from CI_LocalizedCategoryInstances where LocaleID = 9 and CategoryInstanceName = 'Firefox' or
CategoryInstanceName = 'Chrome')
deletefrom CI_LocalizedCategoryInstances where LocaleID = 9 and CategoryInstanceName ='Firefox' or
CategoryInstanceName = 'Chrome'
After this the WCM stopped throwing those errors and the sync completed fine. We can reintegrate SCUP and republish these categories for getting these updates.
Hope this helps !!
Umair Khan
Support Escalation Engineer| Microsoft System Center Configuration Manager
Disclaimer:This posting is provided "AS IS" with no warranties and confers no rights.