SQL 2005复制错误

我试图将SQL2005 tranasaction复制环境中的最大事务保留期从默认72小时改为120。

通过T-SQL或GUI,我得到以下消息:

消息14294,级别16,状态1,过程sp_verify_job_identifiers,第25行提供@job_id或@job_name来标识作业。

我正在运行的T-SQL如下所示:

sp_changedistributiondb @database ='distribution',@property ='max_distretention',@value = 120

任何想法的人?

我认为下面的代码是失败的。 我通过运行sp_helptext sp_changedistributiondb并查看spro的调用sp_verify_job_identifiers来获得此信息。

看起来像changedistributiondb在运行sp_update_jobstep时更新分发清理代理作业时遇到问题:

SELECT @command = 'EXEC dbo.sp_MSdistribution_cleanup @min_distretention = ' + CONVERT(nvarchar(12), @new_min_distretention) + ', @max_distretention = ' + CONVERT(nvarchar(12), @max_distretention) EXEC @retcode = msdb.dbo.sp_update_jobstep @job_name = @agentname, @step_id = 1, @command = @command 

也许这个工作已经被删除或者有其他奇怪的事情发生,无论哪种方式,你应该能够手动修改作业步骤。

编辑:清理代理与分发数据库在服务器上运行。 它将删除复制历史logging,并默认每10分钟运行一次。 工作应该是这样的:

名称: 代理历史清理:分发
类别: REPL – 历史清理
步骤: (1)运行代理
数据库:分布
**命令:** EXEC dbo.sp_MShistory_cleanup @history_retention = 48