Saturday, October 26, 2013

Deploy list is not synching with child site

I faced an issue could of month back, deploy list is not synching with child site,
 
here is the solution how to resync and update the deploy list.
 
 
1-Failed to insert Object 6298a02f-0a6a-4f34-b832-08059b682b63 from replication file d:\Microsoft Configuration Manager\inboxes\objmgr.box\INCOMING\RetryGL_48796.CID.
On to the resolution, I found that running the following 6 SQL queries on the effected child sites resolved the issue:

Delete from CI_ConfigurationItems Where CIType_ID in (1, 6, 8);
Update CI_SDMPackages set IsDeleted = 1 where SourceSite = 'CEN';
Delete from CI_ComplianceHistory where isdetected = 1
Delete from CI_Compliancehistory where isdetected = 0
Delete from CI_SDMPackages where is deleted =1 and sourecesite = 'CEN'
Exec sp_DeleteOldSDMPackageData 0;

* Note: replace CEN with the site code of your central site (or the active SUP which is the furthest upstream’)
Running the above queries will purge Software Updates data from the effected child site.
You should then wait about 30 minutes and then restart the following services on the effected child site:
SMS_EXECUTIVE
SMS_COMPONENT_MANAGER
The final step is to initiate a full site replication, this can be done using the hierarchy maintenance tool (syncchild option) or by place a file called .SHA * in the objmgr.box on the parent site.
* .SHA – replace with the 3 digit site code of the desired child site you wish to replicate.
Allow up to 24 hours for the site replication to complete, when it finishes you should have a fully matching compliment of updates on the central site and child primary site.
 
 
2-If above method is not working then no problem, you would have to follow following steps as well as you followed first steps,
 
1.    In child site, delete all files inside objmgr.box, objmgr.box\INCOMING, objmgr.box\INCOMING\retry & objmgr.box\INCOMING\retry\Bad.
2.    Run below SQL query to clean the updates information from child site DB.
 
We need to run a clean-up process using the below SQL query.
================================
BEGIN TRANSACTION
 
DECLARE @SiteCode varchar(8)
DECLARE @RowCount int, @Err int, @TotalRowCount int
SELECT @SiteCode=ThisSiteCode from SMSData
 
PRINT N'Step 1 - Deleting the update sources'
 
delete from CI_UpdateSources where UpdateSourceName = 'WSUS Enterprise Server'
 
PRINT N'Step 2 - Deleting rows of type 1 and 6'
 
delete CIR from CI_ConfigurationItemRelations CIR
left join CI_ConfigurationItems cci on cci.CI_ID = CIR.FromCI_ID
where cci.CIType_ID in (1, 8)
 
delete CIR from CI_ConfigurationItemRelations CIR
left join CI_ConfigurationItems cci on cci.CI_ID = CIR.ToCI_ID
where cci.CIType_ID in (1, 8)
 
set rowcount 1000
 
delete from CI_ConfigurationItems Where CIType_ID in (1) and SourceSite <>
@SiteCode
SET @TotalRowCount=@@RowCount
 
IF @@ERROR!=0 GOTO exiterror
 
while (1=1)
begin
Delete from CI_ConfigurationItems Where CIType_ID in (1) and SourceSite <>
@SiteCode
SELECT @RowCount=@@ROWCOUNT, @Err=@@ERROR
SET @TotalRowCount=@TotalRowCount + @RowCount
 
IF @Err!=0 GOTO exiterror
IF @RowCount = 0 break
 
PRINT N'Looping... Rows deleted so far:'
PRINT @TotalRowCount
end
 
PRINT N'Step 3 - Deleting rows of type 8'
 
set rowcount 1000
 
delete from CI_ConfigurationItems Where CIType_ID = 8
SET @TotalRowCount=@@RowCount
 
IF @@ERROR!=0 GOTO exiterror
 
while (1=1)
begin
Delete from CI_ConfigurationItems Where CIType_ID = 8
SELECT @RowCount=@@ROWCOUNT, @Err=@@ERROR
SET @TotalRowCount=@TotalRowCount + @RowCount
 
IF @Err!=0 GOTO exiterror
IF @RowCount = 0 break
 
PRINT N'Looping... Rows deleted so far:'
PRINT @TotalRowCount
end
 
PRINT N'Step 4 - Running the SP...'
 
set rowcount 0
update CI_SDMPackages set IsDeleted = 1
where SourceSite is not NULL and SDMPackageName not like 'ScopeID%' and
SDMPackageName not like '%GLOBAL%'
IF @Err!=0 GOTO exiterror
 
exec sp_DeleteOldSDMPackageData 0
IF @Err!=0 GOTO exiterror
 
GOTO exitok
 
exiterror:
 
PRINT N'Error:'
PRINT @@ERROR
 
exitok:
set rowcount 0
 
if @@ERROR = 0 COMMIT TRANSACTION else ROLLBACK TRANSACTION
================================
.
1.    Stop SMS Executive and Site component manager service on Child site.
2.    On the child site navigate to <SCCM installation drive\location>\Bin\i386 rename the DLL -> objreplmgr.dll to objreplmgr.dll.old
3.    Start the Site component manager service on Child site, SMS Executive service will be started automatically by site comp service.
 
4.    Force a resync of the updates data objects by dropping a <childsitecode>.sha file into the Central site's
5.    Once the SHA file disappear, wait for 1 – 2 hour and proceed with next step.
6.    Stop SMS Executive and Site component manager service on Child site.
7.    On the child site navigate to <SCCM installation drive\location>\Bin\i386 rename the DLL -> objreplmgr.dll.old to objreplmgr.dll
8.    Start the Site component manager service on Child site, SMS Executive service will be started automatically by site comp service
 
 
 

No comments:

Post a Comment