我正在使用10 GB大小限制的SQL Server Express版本,有些表有数百万+行,我需要在每个月末执行数据清除操作,以便释放空间并使其可用于新数据存储
如果我通过SSMS使用收缩(右键单击数据库然后任务然后收缩)它可以顺利运行并按预期释放空间。 但是当我尝试用
实现同样的问题时,问题就出现了ALTER DATABASE MyDatabase SET RECOVERY SIMPLE
GO
DBCC SHRINKDATABASE(MyDatabase)
GO
ALTER DATABASE MyDatabase SET RECOVERY FULL
GO
它字面上显示没有效果,事实上它增加了日志文件大小但从未释放空间。有任何解决方案,它将是非常可观的
提前致谢
答案 0 :(得分:0)
我不会将恢复模型切换到SIMPLE以强制收缩。
当恢复模型设置为FULL时,您必须执行完整备份和至少一个事务日志备份以满足恢复条件,然后才能收缩数据库。