加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

Sqlserver 有Email引起的 高CPU

发布时间:2020-12-12 15:00:46 所属栏目:MsSql教程 来源:网络整理
导读:最近用Sql Server发邮件,做了一个JOB,定时发送,由于发送量过大,导致邮件队列大量排队。 刚开始感觉很奇怪,我把JOB全部都停掉,但是Sqlservr.exe进度的CPU还是高居不下,后来分析原因,发现上面的原因。 ? ? http://social.msdn.microsoft.com/Forums/en

最近用Sql Server发邮件,做了一个JOB,定时发送,由于发送量过大,导致邮件队列大量排队。

刚开始感觉很奇怪,我把JOB全部都停掉,但是Sqlservr.exe进度的CPU还是高居不下,后来分析原因,发现上面的原因。

?

?

http://social.msdn.microsoft.com/Forums/en/sqlserverzhchs/thread/9f5dad7a-9025-49da-a481-db2dce1ecfff

?

如何清除SQL sever数据库邮件队列中信息?

msdb数据库中存储过程:

?

邮件队列信息存储在系统表中,请问应该如何删除?(因目前邮件队列数据较多,阻塞了正常发送邮件)

Take look at sysmail_delete_mailitems_sp.

Deletes e-mails of the type specified by sent_status?which is varchar(8) with no default. Valid entries are sent,unsent,retrying,and failed.

?

上面存储过程的4个状态参数都试过了,执行完后,再执行sysmail_help_status_sp,其中的length值始终保持先前的数值不变

Did you check with sysmail_help_queue_sp?

对,一直用这条命令检查邮件队列

?

这样检查过了吗?“ sysmail_event_log” 和“Windows 应用程序事件日志”是否有相关信息。如果没有请参照下面的网址解决:
http://msdn.microsoft.com/zh-cn/library/ms189959.aspx

已参考http://msdn.microsoft.com/zh-cn/library/ms189959.aspx

SELECT is_broker_enabled FROM sys.databases WHERE name = 'msdb';   返回1

EXECUTE dbo.sysmail_start_sp 可以启动服务
但执行EXECUTE dbo.sysmail_help_status_sp, 状态始终是inactive

?

等空闲一段时间之后状态也会是inactive的,关键是队列长度:正常的是发送完的为0。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读