SET @SqlCmd = 'USE ?;SELECT DB_NAME() AS DATABASENAME,
OBJECT_NAME(B.OBJECT_ID) AS TABLENAME,
B.NAME AS INDEXNAME,
B.INDEX_ID
FROM SYS.DM_DB_INDEX_USAGE_STATS C
WHERE B.OBJECT_ID = C.OBJECT_ID
AND B.INDEX_ID = C.INDEX_ID
INNER JOIN @Database D ON C.database_id = D.database_id
WHERE NOT EXISTS (SELECT *
FROM SYS.DM_DB_INDEX_USAGE_STATS C
WHERE B.OBJECT_ID = C.OBJECT_ID
AND B.INDEX_ID = C.INDEX_ID)
-- new condition.
AND DB_NAME() LIKE 'MCBAM%'
AND A.TYPE <> '''+'S'+'''
AND B.NAME > ''''
AND B.NAME not like '''+'%rowid%'+'''
ORDER BY 1, 2, 3 '
When u execute the query for each database using sp_msforechdb, this query will execute in each db but
will not return data for databases whose name is NOT like MCBam.
"Keep Trying"