通过 sp_spaceused 显示行数 精确吗
通过 sp_spaceused 显示行数 精确吗?
最多在2次检查点不准,对吗
[解决办法]
就是两次,你执行一次就知道了,比如:
第一次:
database_namedatabase_sizeunallocated space
MEDICSCA_20xx1886.13 MB33.28 MB
第二次:
reserveddataindex_sizeunused
44512 KB41792 KB1568 KB1152 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='[表名]'