图片不知道怎么传上来:(
一是直接在企业管理器里看的表属性显示的行,
二是用select count(*) from 表名 里出的值,不一样。
系统是最新的SP4+2273的补丁。

解决方案 »

  1.   

    select count(*) from 有条件没,有的话当然不同了
      

  2.   

    select count(*) from 没条件,并且这个数据还大。
    在本机上测试的,肯定没有别人操作数据的。
    也不是所有的表都有问题,目前发现的有问题的表是没做主键的。
      

  3.   

    应该是你表中有空值行吧。
    select count(*) from aa 返回的是表中不存在 NULL 值的行数
      

  4.   

    select count(*) from 表名 这个肯定不会出错 无论有没有主键 都不会出错的!
      

  5.   

    估计是空值(null)造成的查询结果不一样.
      

  6.   

    1.用语句select rows from sysindexes where id=object_id('表名') AND indid=0查出来的行数与属性中的行数对比一下
    2.更新统计信息
    update statistics 表名
    3.再看行数
      

  7.   

    企业管理器的表属性中显示的行数不是查表得到的, 而是查系统表得到的(sp_spaceused '表名'的结果, 可以研究这个存储过程的内容, 就知道它是查什么系统表的了)当表中的数据发生变化后, 如果系统表没有得到及时更新, 就会出现楼主所述的情况
      

  8.   

    出现这种问题的时候, 你使用下面的语句更新一下系统表中的记录就好了USE 你的库名
    DBCC UPDATEUSAGE(0, N'你的表名')
      

  9.   

    谢谢大家,估计这个应该算是BUG了吧。根据
    USE 你的库名
    DBCC UPDATEUSAGE(0, N'你的表名')
    这个操作搞定了。谢谢
      

  10.   

    不知道该不该算BUG, 联机帮助上写明了2000及之前的版本是无法保证那个是准确的