Sql-DBCC收缩数据库不会减少数据库大小

时间:2018-04-26 13:18:54

标签: sql-server sql-server-2012 dbcc

我正在使用10 GB大小限制的SQL Server Express版本,有些表有数百万+行,我需要在每个月末执行数据清除操作,以便释放空间并使其可用于新数据存储

如果我通过SSMS使用收缩(右键单击数据库然后任务然后收缩)它可以顺利运行并按预期释放空间。 但是当我尝试用

实现同样的问题时,问题就出现了
ALTER DATABASE MyDatabase SET RECOVERY SIMPLE

GO

DBCC SHRINKDATABASE(MyDatabase)

GO

ALTER DATABASE MyDatabase SET RECOVERY FULL

GO

它字面上显示没有效果,事实上它增加了日志文件大小但从未释放空间。有任何解决方案,它将是非常可观的

提前致谢

1 个答案:

答案 0 :(得分:0)

我不会将恢复模型切换到SIMPLE以强制收缩。

当恢复模型设置为FULL时,您必须执行完整备份和至少一个事务日志备份以满足恢复条件,然后才能收缩数据库。