超时错误-通过SQL Mail发送邮件-Service Broker队列

超时错误-通过SQL Mail发送邮件-Service Broker队列,第1张

超时错误-通过SQL Mail发送邮件-Service Broker队列

我也遇到过类似的问题,但不幸的是没有得到答案。最后,我所能做的就是监视QUEUE,当它崩溃时,只需重新启动它即可。我使用以下存储过程来做到这一点

DECLARE @state nvarchar(50),        @length int,        @last_activated_time datetimeCREATE TABLE #MailStatusTempTable([queue_type] nvarchar(max),[length] int,[state] nvarchar(max),[last_empty_rowset_time] datetime,[last_activated_time] datetime)INSERT INTO #MailStatusTempTable EXEC msdb.dbo.sysmail_help_queue_sp @queue_type = 'mail'SELECt TOP 1 @state = [State],@length=[length],@last_activated_time = [last_activated_time] FROM #MailStatusTempTableDROP TABLE #MailStatusTempTableIF (@length>0)BEGIN    IF (@state <> 'RECEIVES_OCCURRING')    BEGIN        IF (DATEDIFF(minute,@last_activated_time,GETDATE())>5) --ensuring 5 minutes has passed since last activity (your timeout might be different)        BEGIN EXEC msdb.dbo.sysmail_stop_sp EXEC msdb.dbo.sysmail_start_sp        END    ENDEND

希望对您有所帮助。如果是这样,请记住将其标记为答案!

亲切的问候,威廉



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5618306.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-15
下一篇2022-12-15

发表评论

登录后才能评论

评论列表(0条)

    保存