通过 sp_spaceused 显示行数 精确吗
通过 sp_spaceused 显示行数 精确吗?
最多在2次检查点不准,对吗
------解决方案--------------------就是两次,你执行一次就知道了,比如:
第一次:
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
------解决方案--------------------不一定精确,如果要精确的话首先执行DBCC UPDATEUSAGE
关于DBCC UPDATEUSAGE的解释:报告目录视图中的页数和行数错误并进行更正。
这些错误可能导致 sp_spaceused 系统存储过程返回不正确的空间使用报告。------解决方案--------------------在删除或重新生成大型索引时,或者在删除或截断大型表时,数据库引擎将延迟实际页释放及其关联锁,直至事务提交完毕为止。 延迟的删除操作不会立即释放已分配的空间。 因此,删除或截断一个大型对象后 sp_spaceused 随即返回的值可能不会影响可用的实际磁盘空间。
------解决方案--------------------不准确,如果2008的话,2005我不清楚,可以查询sys.partitions表,还没装上sql server,不知道表名有没有打错
------解决方案--------------------不一定精确,可以这样查..
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='[表名]'