Certaines entreprises observent un crash du service Site Component Manager sur System Center Configuration Manager 1706 pour la version avec l’identifiant du package (GUID) : b7700d5c-d16f-40da-bb0d-a8c5a90822b9. Le fichier sitecomp.log renvoie l’erreur : "A pure virtual function was called. Fatal error, cannot continue."
Vous observez les événements suivants :
The component raised an exception but failed to handle it and will be stopped immediately.
Component name: SMS_SITE_COMPONENT_MANAGER
Executable: \Program Files\Microsoft Configuration Manager\bin\x64\sitecomp.exe
Process ID: 34232
Thread ID: 22224
Instruction address: 7FE53C58
Exception code: EEEEFFFF (EXCEPTION_SMS_FATAL_ERROR)
Additional information: A pure virtual function was called. Fatal error, cannot continue.
Un correctif sera publié prochainement par Microsoft. Dans l’immédiat, vous pouvez exécuter la requête suivante sur la base de données :
DECLARE @ssrsSiteSystem NVARCHAR(256)
DECLARE @ssrsCurrentVersion NVARCHAR(256)
-- this is the FQDN of the site system running SSRS site system role
SET @ssrsSiteSystem = N'<replace with FQDN>' -- e.g. N'sitesystem.runningSSRS.com'
-- this is the current version stored in registry indicating SSRS current version
-- registry value location: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SMS\SRSRP\Version
SET @ssrsCurrentVersion = N'<replace with version from registry above>' --e.g N'13.0.4206.0'
IF EXISTS (SELECT * FROM vSMS_SC_SysResUse WHERE rolename=N'SMS SRS Reporting Point' )
AND EXISTS (SELECT * FROM CM_UpdatePackages WHERE STATE=196612 AND PackageGuid IN (N'b7700d5c-d16f-40da-bb0d-a8c5a90822b9', N'ABB97C8D-81E2-4D97-85CD-26FF3C561058'))
BEGIN
IF EXISTS (SELECT * FROM vSMS_SC_SysResUse WHERE rolename=N'SMS SRS Reporting Point' AND ServerName = @ssrsSiteSystem)
BEGIN
-- CHECK if the SSRS version saved in Site control table is correct
-- UPDATE the value to be consistent with the value from the registry on the SSRS site system machine
--SELECT srs.ServerName, prop.Value2 FROM SC_SysResUse_Property prop
UPDATE prop SET prop.Value2 = @ssrsCurrentVersion FROM SC_SysResUse_Property prop
INNER JOIN vSMS_SC_SysResUse srs ON prop.SysResUseID = srs.ID
WHERE srs.rolename=N'SMS SRS Reporting Point'
AND prop.Name=N'Version'
AND ServerName = @ssrsSiteSystem
PRINT 'successfully update the Site control table. please restart SMS_SITE_COMPONENT_MANAGER.'
END
ELSE
BEGIN
PRINT 'There is no SSRS site system role installed on the site system, please double check the input'
END
END
ELSE
BEGIN
PRINT 'The script is NOT applicable to this environment'
END
Redémarrez ensuite le service SMS_SITE_COMPONENT_MANAGER.
Note : Sauvegardez la base de données avant d’exécuter la requête.