Index Volume count mismatch in Directory database and EV server event.
I ran this query on the directory server to get the number of index volumes being managed by the particular server:
Select Count (*) from Indexvolume Where IndexRootPathEntryId in (Select IndexRootPathEntryId from IndexRootPathEntry where IndexServiceEntryId = '1F7BD637ADCCF784E8A2DDA4760D04EE91710000eito-kvs')
I get result in 20K.
However, the event 41392 on the EV server after the Index service restart shows about 530 Index volumes being synchronized.
Is the Indexing server actually missing volumes? Or is this just stale entries in SQL? How can I find out which one is not working correctly? Or is my query incorrect to begin with!
The Indexing Service will only synchronize Index Volumes that actually exist on disk (i.e., where at least one item has been indexed and the Index Volume's collection folder has been created in the IndexRootPath folder). The IndexVolume table lists all Index Volumes, including empty ones (those where no items have been indexed yet). My guess is the discrepancy you're seeing is because you have a large number of empty indexes, which will show in your query but which the service will not try to synchronize.
Here is a query for your Directory database that may prove useful in illustrating this:
SELECT COUNT(IndexVolumeIdentity) AS AllIndexVolumes ,COUNT(IndexedItems) AS NonEmptyIndexVolumes ,ComputerName
FROM IndexVolume AS IV JOIN IndexRootPathEntry AS IRP ON IRP.IndexRootPathEntryId = IV.IndexRootPathEntryId JOIN IndexingServiceEntry AS ISE ON ISE.ServiceEntryId = IRP.IndexServiceEntryId JOIN ComputerEntry AS CE ON CE.ComputerEntryId = ISE.ComputerEntryId
GROUP BY ComputerNameHope that helps.
--Chris