Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 在每日作业计划的某一天,由于';的原因,数据库dbname的事务日志已满;活动交易';_Sql_Ssis_Database Administration - Fatal编程技术网

Sql 在每日作业计划的某一天,由于';的原因,数据库dbname的事务日志已满;活动交易';

Sql 在每日作业计划的某一天,由于';的原因,数据库dbname的事务日志已满;活动交易';,sql,ssis,database-administration,Sql,Ssis,Database Administration,我有一个批处理作业,每天都可以正常执行,但从周五晚上到周六早上运行的作业给我带来以下错误: 数据库“Db name”的事务日志已满,原因是“ACTIVE_transaction”,执行失败 请您帮助我了解这个问题好吗?尝试以小批量而不是单个事务删除数据 While (@RecordCount > 0) BEGIN DELETE top 5000 FROM <<TABLE>> <<where condition>>

我有一个批处理作业,每天都可以正常执行,但从周五晚上到周六早上运行的作业给我带来以下错误:

数据库“Db name”的事务日志已满,原因是“ACTIVE_transaction”,执行失败


请您帮助我了解这个问题好吗?

尝试以小批量而不是单个事务删除数据

While (@RecordCount > 0)
  BEGIN
       DELETE top 5000 FROM <<TABLE>>
       <<where condition>>
     SET @RecordCount = @@RowCount
  END
While(@RecordCount>0)
开始
从中删除前5000名
设置@RecordCount=@@RowCount
结束

批处理文件的内容是什么?它不涉及批处理文件基本上是问题发生的级别它在执行sql任务中调用显式事务,从delete语句开始,然后从作为源的多个表上的join查询开始将数据插入目标选项卡。是否截断日志文件?我的db recovery处于简单恢复模式,因此我相信它会使用检查点自动配置日志文件的截断过程……但我没有手动执行此操作。但是,如果您在这方面有任何建议,请让我知道如果是简单恢复,那么您必须手动截断日志文件,只有在您无法处理活动事务时才会发生这种情况