清除 SQL 服务器中的数据库邮件队列



我的数据库服务器似乎陷入了某种恍惚状态。当我运行查询时,它运行良好。当我在 maildb 中运行相同的查询作为@query标签的一部分时,它被卡住了。

当我删除查询并发送空邮件时,它卡在邮件队列中。

EXEC [MSDB].dbo.sp_send_dbmail @profile_name='Email Test',
@recipients='test@gmail.com',
@subject='Testing auto notification sql jobs. Please ignore',
@body_format = 'TEXT',
@body='hello'

上面的这一行无缘无故地卡住了。我使用"数据库邮件"中的"发送测试邮件"选项发送了一封邮件,效果很好。因此,很明显,实际的电子邮件发送过程没有任何问题。

delete from msdb.dbo.sysmail_unsentitems;

这一行只是从SQL服务器运行默认选项,试图清除队列,甚至这也会卡住。

我不知道如何解决这个问题。我尝试重新启动dbmail服务,但这不起作用。可悲的是,我无法重新启动整个sql代理服务(生产的好处)。

我想知道任何可能让我的服务器摆脱这种疯狂的事情。

编辑:

没关系。我发现了问题。表由于某种原因被锁定,这反过来又锁定了邮件服务。因此,我只是简单地杀死了活动监视器中由我启动的所有进程。解决了表上的锁,它再次运行良好。

相关内容

  • 没有找到相关文章

最新更新