I was looking at the console other day and found that, there were many collections created in the root folder (device collection) with 0 count. So i looked at the collection properties ,i found empty there (No direct or query based rule).
So i decided to write SQL query to identify the list of collections that have empty results with no query rules (Direct or query based) defined in it.
For this query ,i have used 2 SQL views (v_Collection and v_CollectionRuleQuery ) .
For full list of SQL views that exist in SCCM Configmgr ,please refer https://gallery.technet.microsoft.com/SCCM-Configmgr-2012-R2-SQL-5fefdd3b .
Following is the SQL Code to identify empty collections with no query rule defined ,You can delete these collections to simplify the list of collections displayed when deploying objects as part of maintenance tasks ,unless there is a reason to be in the console.
You can use the following code to create SSRS report as well.
case when coll.CollectionType='1' then 'User' else 'Device' end as 'Collection Type'
from v_Collection coll
where coll.collectionid not in (select CRQ.collectionid from v_CollectionRuleQuery CRQ)
group by coll.CollectionID,coll.Name,coll.CollectionType
Configuration manager Technical preview 1708 has ability to identify Applications without deployments and Empty collections as part of Management insights. More information ,please read https://docs.microsoft.com/en-us/sccm/core/get-started/capabilities-in-technical-preview-1708#management-insights
Hope it helps!
very helpful post. thank you so much