Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 如何在SQL server中查找没有记录的表列表_Database_Sql Server 2008 R2 - Fatal编程技术网

Database 如何在SQL server中查找没有记录的表列表

Database 如何在SQL server中查找没有记录的表列表,database,sql-server-2008-r2,Database,Sql Server 2008 R2,如何显示sql server数据库中没有记录且存在的表列表。只需显示其中没有记录的表即可。请尝试以下操作: SELECT t.NAME AS TableName, p.rows AS RowCounts FROM sys.tables t INNER JOIN sys.partitions p ON t.object_id = p.OBJECT_ID WHERE t.NAME NOT LIKE 'dt%' AND t.is_ms_shi

如何显示sql server数据库中没有记录且存在的表列表。只需显示其中没有记录的表即可。

请尝试以下操作:

SELECT 
    t.NAME AS TableName,
    p.rows AS RowCounts
FROM 
    sys.tables t
INNER JOIN 
    sys.partitions p ON t.object_id = p.OBJECT_ID 
WHERE 
    t.NAME NOT LIKE 'dt%' 
    AND t.is_ms_shipped = 0
    AND p.rows = 0
GROUP BY 
    t.Name, p.Rows
ORDER BY 
    t.Name

查询转到
sys.tables
和其他目录视图,以查找表及其索引和分区,并查找行数为0的表。

更改以添加架构名称:

SELECT 
    sch.name,
    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

为什么查询需要t.NAME而不是像“dt%”?