SqlServer-获取包含数据的所有表(不为空)
问题很简单: 是否可以检索所有非空表? 我需要一个查询来列出这些表。有办法吗SqlServer-获取包含数据的所有表(不为空),sql,sql-server,Sql,Sql Server,问题很简单: 是否可以检索所有非空表? 我需要一个查询来列出这些表。有办法吗 感谢您的支持尝试此脚本以获取包含非空记录的所有表 USE [Your database Name] Go SELECT SCHEMA_NAME(schema_id) AS [SchemaName], [Tables].name AS [TableName] --SUM([Partitions].[rows]) AS [TotalRowCount]
感谢您的支持尝试此脚本以获取包含非空记录的所有表
USE [Your database Name]
Go
SELECT SCHEMA_NAME(schema_id) AS [SchemaName],
[Tables].name AS [TableName]
--SUM([Partitions].[rows]) AS [TotalRowCount]
FROM sys.tables AS [Tables]
JOIN sys.partitions AS [Partitions]
ON [Tables].[object_id] = [Partitions].[object_id]
AND [Partitions].index_id IN ( 0, 1 )
-- WHERE [Tables].name = N'name of the table'
GROUP BY SCHEMA_NAME(schema_id), [Tables].name
HAVING SUM([Partitions].[rows]) >0
与@Sreenu131答案略有不同,因为它使用sys.partitions.rows属性查找 p、 行数>0 你有没有研究过或可能的复制品-可能的复制品
SELECT
sch.name as SchemaName,
t.NAME AS TableName,
p.rows AS RowCounts
FROM
sys.tables t
INNER JOIN
sys.partitions p ON t.object_id = p.OBJECT_ID
INNER JOIN sys.schemas sch
on t.schema_id = sch.schema_id
WHERE
t.NAME NOT LIKE 'dt%'
AND t.is_ms_shipped = 0
AND p.rows > 0
GROUP BY
sch.name,t.Name, p.Rows
ORDER BY
sch.name,t.Name