Sql 在每日作业计划的某一天,由于';的原因,数据库dbname的事务日志已满;活动交易';
我有一个批处理作业,每天都可以正常执行,但从周五晚上到周六早上运行的作业给我带来以下错误: 数据库“Db name”的事务日志已满,原因是“ACTIVE_transaction”,执行失败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>>
请您帮助我了解这个问题好吗?尝试以小批量而不是单个事务删除数据
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处于简单恢复模式,因此我相信它会使用检查点自动配置日志文件的截断过程……但我没有手动执行此操作。但是,如果您在这方面有任何建议,请让我知道如果是简单恢复,那么您必须手动截断日志文件,只有在您无法处理活动事务时才会发生这种情况