这是一个交叉学科的问题--希望我贴在正确的地方。
server 2008 R2
问:如何限制赛斯霍伯历史中特定作业的行数,特别是从高频报告服务订阅插入到SQL中的作业?
历史记录:我有一个SQL服务器,其中SQL代理必须处理来自报告服务计划的ETL作业和作业的混合。最近我发现我在ETL工作上只有2到3天的历史,在那里我曾经有5-7天或更长的时间。用于职务历史记录保留的SQL代理属性为:
Maximum Job History Size (in rows): 5000
Maximum Job History rows per job: 1000如果你认为“报告服务的工作将是问题的…”你应该是对的。我们最近引入了一些报告服务报告,它们负责填充开销显示器的数据,每天每3分钟运行一次。当然,这些作业在没有时间的情况下达到了每个作业的最大行数( 1000行),所有其他作业总数只留下1000行。
我不想更改SQL代理作业历史记录行限制--但我希望有更长的ETL作业历史记录。
报告服务DB在内部有自己的日志(ExecutionLog),因此对于这些高频订阅,我并不需要在sysjobshistory中的每个作业每天都需要600+日志条目。
通过Reporting调度程序插入到SQL中的作业特别警告不要在报表Manager..but之外修改它们,据我所见,报表调度程序没有这方面的选项。
发布于 2014-08-06 21:14:01
写你自己的工作,清除条目(和它自己的!)每隔几分钟。
您确实能够通过简单地发出以下命令来清除历史细节:
DELETE msdb.dbo.sysjobhistory WHERE run_status = 1 AND job_id = 'guid';https://dba.stackexchange.com/questions/73357
复制相似问题