通过 sp_spaceused 显示行数 精确吗?
最多在2次检查点不准,对吗

解决方案 »

  1.   

    就是两次,你执行一次就知道了,比如:
    第一次:
    database_name database_size unallocated space
    MEDICSCA_20xx 1886.13 MB 33.28 MB第二次:
    reserved data index_size unused
    44512 KB 41792 KB 1568 KB 1152 KB
      

  2.   

    不一定精确,如果要精确的话首先执行DBCC UPDATEUSAGE关于DBCC UPDATEUSAGE的解释:报告目录视图中的页数和行数错误并进行更正。  这些错误可能导致 sp_spaceused 系统存储过程返回不正确的空间使用报告。
      

  3.   

    在删除或重新生成大型索引时,或者在删除或截断大型表时,数据库引擎将延迟实际页释放及其关联锁,直至事务提交完毕为止。  延迟的删除操作不会立即释放已分配的空间。 因此,删除或截断一个大型对象后 sp_spaceused 随即返回的值可能不会影响可用的实际磁盘空间。 
      

  4.   

    不准确,如果2008的话,2005我不清楚,可以查询sys.partitions表,还没装上sql server,不知道表名有没有打错
      

  5.   

    不一定精确,可以这样查..select a.rowcnt 
     from sys.sysindexes a
     inner join sys.tables b on a.id=b.[object_id]
     where a.indid<=1 and b.name='[表名]'