SQL Server 2005 复制订阅到期警告

SQL Server 2005 复制订阅到期警告

本周,我的一个复制订阅已过期,因为我没有收到任何有关登录错误的警报(我已修复这些警报和错误)。现在,我希望能够发送警报,告知订阅即将过期(即,将在 1 或 2 天内过期),以防这种情况再次发生。我已设置订阅过期时的警报,但这是事后警报。我已查看 sys.messages 中是否有任何包含“Expir”的文本,但尚未找到合适的错误代码。有人能给我指出正确的方向吗?

谢谢。

答案1

给你...这是我要采取的方法...你需要启用 DB Mail 并创建配置文件,然后根据下面的环境更改这些部分...同时将 @MaxOfflineInHours= 变量更改为你想要提醒的不活动小时数...创建存储过程 usp_GetExpiringSubscribersList,然后将下面的电子邮件脚本放入 SQL 作业中并安排它。电子邮件脚本旨在通过电子邮件向您返回结果集。如果您有任何问题,请告诉我,我可以和您一起解决。如果您还有其他需要,请告诉我。谢谢!-VM

--==============================================================================

Create Procedure dbo.usp_GetExpiringSubscribersList

AS



declare @maxOffLineInHours int

set @maxOffLineInHours = 72 -- <SET YOUR NUMBER OF HOURS TO ALERT ON HERE>

SELECT srvname,

Max_start_time,

DATEDIFF(hh, Max_start_time, getdate())

FROM distribution.dbo.msmerge_sessions

JOIN ( SELECT agent_id,

Max_start_time = MAX(start_time)

FROM distribution.dbo.msmerge_sessions

GROUP BY agent_id

) AS k ON k.agent_id = 
distribution.dbo.msmerge_sessions.agent_id

AND distribution.dbo.msmerge_sessions.start_time = max_Start_Time

JOIN ( SELECT id AS agent_id,

srvname

FROM distribution.dbo.msmerge_agents

JOIN sys.sysservers ON sys.sysservers.srvid = distribution.dbo.msmerge_agents.Subscriber_ID

) AS l ON l.agent_id = k.agent_id

WHERE DATEDIFF(hh, max_start_time, GETDATE()) > @maxOffLineInHours 

ORDER BY DATEDIFF(hh, max_start_time, GETDATE()) DESC 





--====================================================================

-- Put this code in a SQL Job to run daily or whatever interval suits you



EXEC msdb.dbo.sp_send_dbmail

@profile_name = 'AdventureWorks2008R2 Administrator',

@recipients = '[email protected]',

@query = 'exec dbo.usp_GetExpiringSubscribersList' ,

@subject = 'usp_GetExpiringSubscribersList',

@attach_query_result_as_file = 1 ;

答案2

我相信您正在寻找的事件 ID 是 14160。您可以设置一个 SQL Server 代理警报,当此事件发生时触发,并且可以配置代理以向您发送电子邮件或寻呼。

以下是有关该活动的信息:http://msdn.microsoft.com/en-us/library/aa337416.aspx

以下是设置警报的一些说明:http://technet.microsoft.com/en-us/library/ms175076.aspx

相关内容