繁体   English   中英

收缩不适用于SQL Server数据库中的可用空间

[英]Shrink does not work for free space in sql server database

我正在尝试缩小具有简单恢复模型的数据库。它具有约10 gb的可用空间,但没有变化。

这是我获得可用空间并缩小评论的方式

select
a.FILEID,name,
convert(decimal(12,2),round(a.size/128.000,2)) as FILE_SIZE_MB,
convert(decimal(12,2),round(fileproperty(a.name,'SpaceUsed')/128.000,2))as [SPACE_USED_MB],
convert(decimal(12,2),round((a.size-fileproperty(a.name,'SpaceUsed'))/128.000,2))[FREE_SPACE_MB] ,
NAME = left(a.NAME,15),
FILENAME = left(a.FILENAME,30)
from
dbo.sysfiles a

这是我如何缩小文件的评论

dbcc shrinkfile(<file_name>,<space_used_mb>)

实际上,srinkfile的第二个参数是target_space,而不是'space_used_mb'。 因此,如果数据库足够小,以下代码应剪切您的数据文件。

USE master
GO
dbcc shrinkfile( fileId, 250 );

同样,您可以考虑为自己的情况使用SHRINKDATABASE(但请注意这一点!)

DBCC SHRINKDATABASE ( [SHRINKED_DB_NAME] )

相应的主题在这里

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM