SSIS包不应记录日志却仍生成记录,致SQL Server 2016日志膨胀
SSIS日志条目持续增长问题排查方案
检查SSIS代理作业的日志级别
即使SSISDB属性已设为基础日志,对应代理作业可能单独配置了更高级别。打开SQL Server代理,找到目标作业,查看步骤属性的「高级」选项卡,确认日志记录级别为「基础」或「无」。验证包及容器的日志配置
打开SSIS包,进入「日志记录」窗口,确保未勾选任何日志提供程序。同时检查包内的容器(如Foreach循环、序列容器),部分容器可能被单独启用日志,需逐一确认其日志设置为关闭状态。排查组件的独立日志开关
部分SSIS组件(如数据流任务中的源/目标)可能单独开启事件日志。右键组件选择「属性」,查看LoggingMode属性是否设为Disabled,避免使用UseParentSetting(若父级配置未彻底关闭仍会生成日志)。调整SSISDB日志保留策略并清理旧日志
旧日志堆积也会占用空间,可通过以下SQL命令查看并修改保留天数,同时手动清理过期日志:-- 查看当前日志保留天数设置 SELECT * FROM catalog.catalog_properties WHERE property_name = 'RETENTION_WINDOW'; -- 修改保留天数为7天(可按需调整) EXEC catalog.catalog_property_set 'RETENTION_WINDOW', 7; -- 手动清理过期日志 EXEC catalog.cleanup_server_retention_window;确认SSISDB的事务日志配置
若SSISDB本身的事务日志膨胀,需检查数据库恢复模式:若为FULL模式,需定期备份事务日志以释放空间;若无需点恢复,可考虑切换为SIMPLE模式(需评估业务需求)。排查第三方组件与自定义脚本
包内若使用第三方组件或自定义脚本任务,部分组件可能自带硬编码的日志输出(如脚本中调用Dts.Events.FireInformation方法),需检查并关闭此类自定义日志逻辑。
内容的提问来源于stack exchange,提问作者Scot Styer
相关产品推荐
相关产品推荐

