Cela devrait couvrir ce que vous recherchez. c'est-à-dire des tables qui sont des tas (pas d'index clusterisé) et qui n'ont pas d'index non clusterisés. Il utilise le nouveau sys. objets de table utilisés en 2005/2008.
de plus, vous voudrez probablement rechercher des tables qui ont un index clusterisé, mais qui n'ont pas d'index non clusterisés (c'est la 2ème partie de la déclaration que j'ai laissée en commentaire.
SELECT
schemaname = OBJECT_SCHEMA_NAME(o.object_id)
,tablename = o.NAME
FROM sys.objects o
INNER JOIN sys.indexes i ON i.OBJECT_ID = o.OBJECT_ID
-- tables that are heaps without any nonclustered indexes
WHERE (
o.type = 'U'
AND o.OBJECT_ID NOT IN (
SELECT OBJECT_ID
FROM sys.indexes
WHERE index_id > 0
)
)
-- OR
-- table that have a clustered index without any nonclustered indexes
--(o.type='U'
-- AND o.OBJECT_ID NOT IN (
-- SELECT OBJECT_ID
-- FROM sys.indexes
-- WHERE index_id>1))