DBCC SHRINKFILE 会杀死活动事务吗?



我创建了一个作业,每天将数GB的数据从源数据库加载到目标数据库。 一开始,这项工作运行良好,没有任何问题。

在过去的 2 周中,由于事务日志已满,作业失败。

我在 SQl 作业中添加了一个步骤以在加载开始之前清除日志,但仍然发生相同的错误。

我已经监视过在错误之前正在加载的最后一个表在失败之前等待几分钟。我怀疑它正在等待日志被清理。

如果我在作业当前运行时在此数据库上运行 DBCC SHRINKFILE 命令,它是否也会清除/终止活动事务?

如果我在此数据库上运行 DBCC 收缩文件命令,当作业是 当前正在运行,它会清除/杀死活动事务吗 井

不,DBCC SHRINKFILE不会杀死交易

我在 SQL 作业中添加了一个步骤,用于在加载之前清除日志 开始。

如果要收缩文件,并且没有可用空间,则不会清除收缩日志文件。您需要备份日志文件,最好根据您的 RPO 和 RTO 稍微频繁备份,或者在此批量插入期间将恢复模式交换为 BULK LOGGED 。更多关于如何进行TLOG备份的信息。

最新更新