SQL Server MERGE在具有小日志文件的大型表上

时间:2015-03-27 10:34:30

标签: sql sql-server

我在大型表(5M行)上运行MERGE语句,日志文件大小(2GB)。我收到一个错误:

  

合并MyTable失败:由于'ACTIVE_TRANSACTION',数据库'MyDb'的事务日志已满。

除了扩展日志文件之外,还可以通过其他操作解决这个问题吗?我目前无法负担扩展日志文件的费用。

1 个答案:

答案 0 :(得分:2)

如果您有固定的日志文件大小,则基本上有两个选项:

  1. 暂时将数据库的恢复模式从FULL更改为BULK-LOGGED。在此期间,您将失去进行时间点恢复的能力,但它允许您快速执行操作然后返回。还有其他警告,所以你需要做一些研究,以确保这是你想要做的。

  2. 您可以采用批处理方法一次提交小批量更改,而不是更改事务日志,从而允许日志根据需要进行刷新。