我正在尝试将 SQL2005 事务复制环境中的最大事务保留期从默认的 72 小时更改为 120 小时。
通过 T-SQL 或 GUI,我收到以下消息:
消息 14294,级别 16,状态 1,过程 sp_verify_job_identifiers,第 25 行提供 @job_id 或 @job_name 以标识作业。
我正在运行的 T-SQL 如下:
sp_changedistributiondb @database = '分布',@property = 'max_distretention',@value = 120
有什么想法吗?
我认为下面的代码是失败的。我通过运行 sp_helptext sp_changedistributiondb 得到了这个,还查看了 sproc 的调用 sp_verify_job_identifiers。
看起来 changedistributiondb 在运行 sp_update_jobstep 时无法更新分发清理代理作业:
也许这项工作已被删除或发生了其他奇怪的事情,无论哪种方式,您都应该能够手动修改工作步骤。
编辑:清理代理在分发数据库的服务器上运行。它会删除复制历史记录并默认每 10 分钟运行一次。作业应如下所示:
name: Agent history clean up: distribution
category: REPL-History Cleanup
steps: (1)Run Agent
database: distribution
**command:**EXEC dbo.sp_MShistory_cleanup @history_retention = 48