如何在恢复数据库时停止写入事务日志

如何在恢复数据库时停止写入事务日志

我需要停止在恢复数据库时写入事务日志。我需要这样做,因为我将生产数据库恢复到测试数据库中。我每天都这样做。问题是事务日志变得非常大!是否可以在不写入事务日志的情况下恢复数据库?谢谢

答案1

为什么事务日志这么大?这意味着你的事务日志很大生产服务器,这就是你需要关注的。它们可能是没有正确备份,或者它们可能曾经意外增长,现在是大文件但未被使用,或者它们真的必须那么大?是哪一个?

答案2

正如其他人所说,如果不将日志文件恢复到备份时的原始大小,就无法恢复数据库。

但是,您可以修改恢复脚本,将数据库设置为简单恢复,然后大幅缩小日志文件。我在重新加载测试数据库的脚本中执行此操作。最终看起来像这样:

ALTER DATABASE database_name SET RECOVERY SIMPLE
USE database_name
DBCC SHRINKFILE('log_file_logical_name', 64)

如果需要检查日志文件的逻辑名称,请使用 sp_helpfile。

相关内容