一、数据清理和可释放磁盘空间
如上图所示,在进行了数据清理后,数据文件仍然占用133MB的磁盘空间,Available free space 显示93MB,这说明可以使用收缩数据库功能,最多可以释放出93MB的磁盘空间。
如上图所示,使用收缩数据库功能回收了部分 Available free space 后,数据文件占用磁盘空间变为50MB。
二、方案一:通过控制台收缩数据库
1. 登录 SQL Server 控制台,在实例列表,单击实例 ID 或操作列的管理,进入实例管理页面。
2. 在实例管理页面,选择数据库管理页,选择目标数据库所在行,在操作列选择其他 > 收缩数据库。
3. 开启后,流程会自动以2G一次的收缩量进行循环收缩,直到释放掉所有的 Available free space 为止。
三、方案二:使用 SSMS 连接实例,使用脚本进行收缩
注意:收缩数据库可能会产生较大的日志和阻塞,因此,当你使用脚本进行收缩时,不建议一次性收缩较大量级(例如一次性收缩50G以上)。建议在业务低峰期,少量多次进行收缩。
四、步骤1:通过 SSMS 连接到 SQL Server 实例
操作可参考 从 Windows 云服务器连接 SQL Server 实例,或者 从本地连接 SQL Server 实例 中的连接方法。
五、步骤2:使用脚本进行收缩
注意:说明:
注意:实际使用下面的命令时,请将变量替换为实际的信息:
USE [database]GODBCC SHRINKFILE (N'数据库逻辑文件名' , 收缩的目标大小)GO
示例:将 MyDB 的数据文件 MyDBData 收缩到40MB。
USE [MyDB]GODBCC SHRINKFILE (N'MyDBData' , 40)GO