【发布时间】:2019-11-22 01:12:58
【问题描述】:
我将生产数据库恢复到测试环境。在 Prod 中,它配置为事务复制和 400GB 左右的数据库,仅日志文件 120GB。
我尝试将数据库设置为简单恢复并缩小DBCC Shrinkfile 仍然日志文件大小相同(我知道缩小不是一个理想的解决方案,但我想让它变小)。没有长时间运行的事务和阻塞
这是我所遵循的:
* Backup database
ALTER DATABASE DatabaseName SET RECOVERY SIMPLE
GO
DBCC SHRINKFILE (databasenaem_log,5)
GO
ALTER DATABASE DatabaseName SET RECOVERY FULL
GO
我检查了 sys.databases,log_reuse_wait_desc 列,它显示“复制”,这可能是日志文件不允许收缩的原因。问题是数据库或服务器上没有复制(发布者或订阅者)。
select name, log_reuse_wait_desc from sys.databases
我需要设置复制并关闭吗?
【问题讨论】:
-
为什么要将恢复模式设置回 FULL?我怀疑您不需要在测试环境中进行时间点恢复。
-
@AlanBurstein,我需要在压缩日志文件后让数据库处于完全恢复状态
标签: sql-server transactional-replication shrink