T-SQL检查停止的复制作业代理,并启动 (转载)
有时候搭建的复制在作业比较多的时候,会因为某些情况导致代理停止或出错,如果分发代理时间停止稍微过长可能导致复制延期,从而需要从新初始化复制,带来问题。因此我写了一个脚本定期检查处于停止状态的分发代理,将其启动。
注:该脚本需要跑在分发服务器下的MSDB库中。
USE [msdb] Create PROC [dbo].[CheckToRestartStopedAgentJob] AS DECLARE @jobname VARCHAR(200) DECLARE jobname CURSOR FOR SELECT DISTINCT b.name AS MergeJobName FROM distribution.dbo.MSdistribution_history a INNER JOIN distribution.dbo.MSdistribution_agents b ON a.agent_id = b.id WHERE comments LIKE '传递了%' OPEN jobname FETCH NEXT FROM jobname INTO @jobname WHILE @@FETCH_STATUS = 0 BEGIN BEGIN IF NOT EXISTS ( SELECT * FROM msdb..sysjobs WHERE Name = @jobname ) BEGIN PRINT 'Job does not exists' END ELSE BEGIN CREATE TABLE #xp_results ( job_id UNIQUEIDENTIFIER NOT NULL , last_run_date INT NOT NULL , last_run_time INT NOT NULL , next_run_date INT NOT NULL , next_run_time INT NOT NULL , next_run_schedule_id INT NOT NULL , requested_to_run INT NOT NULL , -- BOOL request_source INT NOT NULL , request_source_id SYSNAME COLLATE database_default NULL , running INT NOT NULL , -- BOOL current_step INT NOT NULL , current_retry_attempt INT NOT NULL , job_state INT NOT NULL ) INSERT INTO #xp_results EXECUTE master.dbo.xp_sqlagent_enum_jobs 1, 'sa' IF EXISTS ( SELECT 1 FROM #xp_results X INNER JOIN msdb..sysjobs J ON X.job_id = J.job_id WHERE x.running = 1 AND j.name = @jobname ) BEGIN PRINT 1 END ELSE BEGIN INSERT INTO master.dbo.RestartMergeReplicationLog ( message , errortime ) VALUES ( 'Job:' + @jobname + ' is not running,restarting......' , GETDATE() ) EXEC('EXEC dbo.sp_start_job '''+@jobname+'''' ) END DROP TABLE #xp_results END FETCH NEXT FROM jobname INTO @jobname END CLOSE jobname DEALLOCATE jobname
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架