FIM Reporting utilizes System Center. There is a table in System Center Service Manager database called the Entity Change Log. This is where the new changes to be dealt with are initially loaded. The grooming job is scheduled for every 48 hours by default, and is designed to run in one transaction. If there are a great many changes coming in, say, for example, a ROPU (Run-On Policy Update) set such that it always gets triggered and the set is very large, say, All Users, the database can be overwhelmed and the grooming never succeeds.
Here is a good blog on Run-On Policy Update (ROPU).
/*** Start - Modification to overcome log growth **/
SET @BatchSize = 100000
WHILE @BatchSize <> 0
BEGIN
DELETE TOP (@BatchSize) dbo.[Relationship]
FROM dbo.[Relationship] R
JOIN #BaseManagedEntitiesToPurge BME
ON R.[TargetEntityId] = BME.[BaseManagedEntityId]
SET @BatchSize = @@ROWCOUNT
SELECT @Err = @@ERROR
IF (@Err <> 0)
GOTO Error_Exit
END
--DELETE dbo.[Relationship]
--FROM dbo.[Relationship] R
--JOIN #BaseManagedEntitiesToPurge BME
-- ON R.[TargetEntityId] = BME.[BaseManagedEntityId]
--SELECT @Err = @@ERROR
--IF (@Err <> 0)
-- GOTO Error_Exit
/*** End - Modification to overcome log growth **/
Fernando Lugão Veltem edited Original. Comment: added toc
Ed Price - MSFT edited Revision 1. Comment: Title guidelines; tags