查找没有数据的表

Sab*_*aul 7 sql sql-server sql-server-2008

在Microsoft SQL Server的情况下,如何在没有数据的情况下检索数据库中的所有表(如表中没有行)?
有什么方法吗?

Raj*_*Raj 1

尝试这个 -

WITH CTE AS
(
SELECT   sc.name +'.'+ ta.name TableName
         ,SUM(pa.rows) RowCnt
FROM     sys.tables ta
         INNER JOIN sys.partitions pa
                    ON pa.OBJECT_ID = ta.OBJECT_ID
         INNER JOIN sys.schemas sc
                    ON ta.schema_id = sc.schema_id
WHERE    ta.is_ms_shipped = 0 AND pa.index_id IN (1,0)
GROUP BY sc.name,ta.name
)

SELECT * FROM CTE WHERE RowCnt = 0
Run Code Online (Sandbox Code Playgroud)