日期:2014-05-17  浏览次数:20539 次

数据文件大小为何不变
我现在的数据文件是3,472 MB ,我执行了
use Prj_Test

 dbcc shrinkfile(PRJ_2011031000001_data,1024)

 go
这条语句,但是数据文件大小还是不变。 

------解决方案--------------------
--运行看看有空间收缩没,如果可用空间不足,则收缩操作无法进一步减小文件大小。
SELECT name ,size/128.0 - CAST(FILEPROPERTY(name, 'SpaceUsed') AS int)/128.0 AS AvailableSpaceInMB
FROM sys.database_files;

------解决方案--------------------
你右键数据库→任务→收缩文件 看看可收缩大小是否不足以支持你收缩到1024,如果可以,可能你的文件初始大小就有3000多M
------解决方案--------------------
引用:
证明你的文件都满了,没有可收缩的空间
------解决方案--------------------
引用:


其实要收缩文件,有个前提就是,文件中有空闲空间,这样才能收缩成功。

从图中显示,可用空间是0%,那么就是没有空闲的空间了,这个时候就没办法收缩文件了。

打个比方,你有一个箱子,里面塞满了东西,你说你要收缩,肯定就没办法收缩了,这个时候,只有通过,把数据库中的表进行重新整理,腾出空间后,才能再次进行收缩。