SSISDB事务日志备份

时间:2016-09-13 10:27:35

标签: sql-server ssis etl sql-agent

我运行了几个SSIS包作业,几个月前我的磁盘已满,因为SSISDB数据库的大小。

我注意到cleanup_server_retention_window设置为365天,我将其更改为一天。 (它是一个开发服务器,此时我真的不关心历史)。

显然,(大)问题是事务日志变得越来越快。

为了防止这种情况发生,我每周都会开始执行完整备份,并且每天都会进行事务日志备份,现在可以控制数据库的大小。

然而,一些更有经验的人告诉我,这不是解决这个问题的最好方法,但我看不出有任何问题..

我想知道是否有更好的解决方案。

3 个答案:

答案 0 :(得分:2)

我尝试了一切,包括更改保留窗口;它删除了事务但没有减少日志大小。对我来说,分配的日志文件大小增加到75 GB。似乎没有任何帮助。

主要问题与恢复模型有关 已设置为“完全”的SSIS数据库。一旦我将其设置为'简单'并更改了初始日志文件大小,一切都已修复!

过去几天我一直在监视这一点,只是为了确保一切顺利,看起来很好,所以这个操作是安全的。

当前日志文件大小为512KBMB而不是75GB!

答案 1 :(得分:1)

  

显然,(大)问题是事务日志变得越来越快。

你不会每天都看到这一点......事务日志增长的原因正在改变cleanup_server_retention_window ..当你将值从365更改为1时,内部必须进行大量删除

  

我每周都开始执行完整备份,每天都会进行事务日志备份,现在可以控制数据库的大小

我没有看到备份SSISD的问题。在我们的实例中,我们将恢复模式更改为简单并执行每日完整备份

答案 2 :(得分:0)

我通过3种方式解决了这个问题:

  1. 在SSISDB数据库上添加一些缺少的索引;安装CU4之后,它们应该在那里。

  2. 在存储过程internal.cleanup_server_retention_window

  3. 中将参数 @delete_batch_size 从1000更改为 25
  4. 将接收模式从完整更改为简单

现在,当运行SSISDB维护作业时,事务日志将不再填充,无法修复,从而导致数据库“崩溃” /回滚