从mssql中的表中选择时未显示的记录

时间:2016-11-23 10:08:57

标签: sql sql-server

我从以下查询获取整个数据库中的总表及其行数:

  SELECT  SCHEMA_NAME(A.schema_id) + '.' +
            A.Name, SUM(B.rows) AS 'RowCount'
    FROM        sys.objects A
    INNER JOIN sys.partitions B ON A.object_id = B.object_id
    WHERE       A.type = 'U'
    GROUP BY    A.schema_id, A.Name
    Order By 'RowCount' desc

之后我得到了以下结果:

enter image description here

然后最后当我试图从其中一个表中获取记录时

select * from dbo.[xxx_$Retail ICT Header]

它输出0行......任何线索?

1 个答案:

答案 0 :(得分:0)

要获取每个表中的行计数,请尝试以下查询,然后通过运行select query进行交叉检查。

SELECT s.name+'.'+o.name,
  ddps.row_count 
FROM sys.indexes AS i  
  INNER JOIN sys.objects AS o ON i.OBJECT_ID = o.OBJECT_ID
  INNER JOIN sys.schemas s on s.schema_id= o.schema_id
  INNER JOIN sys.dm_db_partition_stats AS ddps ON i.OBJECT_ID = ddps.OBJECT_ID
  AND i.index_id = ddps.index_id 
WHERE i.index_id < 2  AND o.is_ms_shipped = 0 ORDER BY o.NAME