SQLSERVER文件大小为自动增长但数据库可用空间为0

时间:2021-12-28 23:18:06

一SQLSERVER数据库出现了点异常。

经核查,发现数据库的表可用空间为0.00MB。

查看该数据库文件大小才,仅为560多M,而硬盘大小还有好几百G。

 

更为诡异的事是:已经设置了该文件的属性为自动增长。

 

用DBCC CHECKDB  (YourDATABASE);
GO

查看(该sql语句可以检测页计数或行计数变为负值的情况),DBCC CHECKDB 的输出包含一个警告和一个建议。

可以得出这是由内部页计数出错导致的?

于是使用DBCC UPDATEUSAGE(YourDATABASE)GO  进行更进与重新统计。

(DBCC UPDATEUSAGE 将针对表或索引中的每个分区更正行、已用页、保留页、叶级页和数据页的计数。若表无误,则 DBCC UPDATEUSAGE 不返回数据。若发现错误,则对其进行更正并更新行和列。http://msdn.microsoft.com/zh-cn/library/ms188414(SQL.105).aspx

 

结果发现,目标数据库的可用空间仅增大为20多M。

这是什么原因呢?