Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

SQL Server 2008:tenho 1000 tabelas, preciso saber quais tabelas possuem dados


Tente isto - fornece o nome da tabela e a contagem de linhas:
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

Ele mostra todas as tabelas e suas contagens de linhas em uma única saída.