今天发现监控的一个SQL Server数据库实例的CPU有些异常,如下所示,系统消耗的CPU(O/S CPU Utilization)和数据库实例消耗的CPU(Instance CPU Utilization)有较大出入,登录服务器检查,发现Database Mail Engine进程消耗了20%作业的CPU资源。而且是持续消耗这么多CPU资源。

 

SQL Server 2014下Database Mail Engine进程消耗大量CPU资源

 

 

 

SQL Server 2014下Database Mail Engine进程消耗大量CPU资源

 

首先我想的是数据库是否有狂发邮件的情况呢? 因为之前遇到过相关案例,由于开发人员更新脚本引起的一个逻辑bug,导致短时间狂发邮件,从而引起这个Database Mail Engine 进程消耗大量的CPU资源,用下面脚本检查。发现一小时内最多发大概200封邮件的样子,所以排除了这个情况

 

SELECT CONVERT(VARCHAR(13), send_request_date, 120)
      ,COUNT(*) 
FROM msdb.dbo.sysmail_allitems WITH(NOLOCK)
WHERE send_request_date >= CONVERT(DATETIME, '2020-01-27 00:00:00', 120)
  AND send_request_date <= CONVERT(DATETIME, '2020-03-14 00:00:00', 120)
GROUP BY CONVERT(VARCHAR(13), send_request_date, 120)
ORDER BY CONVERT(VARCHAR(13), send_request_date, 120);

相关文章:

  • 2021-07-12
  • 2022-12-23
  • 2021-06-29
  • 2022-12-23
  • 2021-11-26
猜你喜欢
  • 2021-06-20
  • 2022-02-07
  • 2022-12-23
  • 2021-12-15
  • 2021-10-29
  • 2022-02-11
  • 2021-05-29
相关资源
相似解决方案