日期:2014-05-18  浏览次数:20641 次

空间问题
SQL2000,一个数据库,大小90G,里面表的大小之和显示为190G
跑【SP_SPACEUSED】 得出 数据库大小90G,未分配的空间-100G(这个值是数据库大小减去表大小之和的结果)
跑【SP_SPACEUSED tablename 】得出 几个大表的大小分别是 50G,30G,30G,30G,10G。。。左右,所有的表加起来是190G

企业管理器右键看数据库属性, 大小90G,剩余空间0G
企业管理器右键收缩数据库-》收缩文件, 看文件使用率,显示几个文件使用率在80%左右,也就是数据库空闲空间应该在10几个G,

怀疑表的统计信息不准,做sp_updatestats,又做DBCC DBREINDEX,发现跑上面那些命令还是一样结果。

我的库是默认配置,也就是自动更新统计信息的。

这个是怎么回事,怎样才能让数据库表的统计信息正常?


------解决方案--------------------
2000中的这些统计信息不准的.
2005以上有数据库摘要的报表,那个可能比较准确.
------解决方案--------------------
SP_SPACEUSED有个@updateusage参数,加上后结果能保证基本准确.
SQL code

SP_SPACEUSED @updateusage=true