Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

SQL Server 2008 :J'ai 1000 tables, j'ai besoin de savoir quelles tables contiennent des données

Essayez ceci - vous donne le nom de la table et le nombre de lignes :

SELECT 
    t.NAME AS TableName,
    SUM(p.rows) AS [RowCount]
FROM 
    sys.tables t
INNER JOIN      
    sys.indexes i ON t.OBJECT_ID = i.object_id
INNER JOIN 
    sys.partitions p ON i.object_id = p.OBJECT_ID AND i.index_id = p.index_id
WHERE   
    i.index_id <= 1
GROUP BY 
    t.NAME, i.object_id, i.index_id, i.name 
ORDER BY 
    SUM(p.rows) DESC

Il affiche toutes les tables et leur nombre de lignes dans une seule sortie.