SQL 서버에서 2014 데이터베이스 메일 엔진 프로세스는 CPU 리소스를 많이 소비

 

오늘은 모니터 CPU에 몇 가지 예외, 시스템 및 데이터베이스 인스턴스 소비 (인스턴스 CPU 사용률)에 의해 소비, 아래 그림과 같이 CPU의 CPU (O / S CPU 사용률) 큰 액세스 할을하여 SQL Server 데이터베이스 인스턴스를 발견, 로그인 서버 점검 발견 데이터베이스 메일 엔진 프로세스는 CPU 리소스 작업의 20 %를 소비한다. 그러나 많은 CPU 리소스를 소모하는 것을 계속한다.

 

clip_image001 [12]

 

 

 

clip_image002 [12]

 

우선 나는 약 미친 데이터베이스 메일이의 경우가 있는지 생각? 만난 관련된 경우 개발자가 스크립트 로직 버그 데이터베이스 메일 엔진 프로세스를 일으키는 원인이 짧은 전자 메일 화가의 결과로 발생하는 업데이트하기 때문에, 이전에 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년 1월 27일 0시 0분 0초' , 120)
  AND send_request_date <= CONVERT (DATETIME, '2020년 3월 14일 0시 0분 0초' , 120)
GROUP  BY의  CONVERT ( VARCHAR (13) send_request_date 120)
ORDER  BY  CONVERT ( VARCHAR (13) send_request_date, 120);

 

clip_image003 [12]

 

 

2 : 시스템 오류 로그와 오류 로그 DatabaseMail 시험은 더 이상 결과가 없습니다.

 

3 : 버그가 발생했습니다.

 

    당신이 메일을 많이 보내 후 데이터베이스 메일에서 SQL 서버 2016에 도입 된 공식 문서가있다, 높은 CPU 사용률이 발생할 수 있습니다. 이 관련 정보 SQL 서버 2014 버그에서 공식 문서,하지만 마이크로 소프트의 소변을 발견하지 않았지만 그러나 데이터베이스 인스턴스는 기본적으로이 버그 가능성이 높습니다, SQL 서버 2014 (12.0.5000.0)입니다. 때문에 관련 문서의 부족으로, 현재 버전이 버그를 발견하지 않았습니다 수 있습니다. 그것은이 버그를 잃었하지 않을 수 있습니다 수정 (나는 이것을 언급하지 않았다 패치 목록을 모두 확인).

 

    https://support.microsoft.com/en-nz/help/3197879/fix-sql-server-2016-database-mail-causes-high-cpu-usage-after-many-ema

 

    그리고 인터넷은 친구들이 동일한 경우를 만난 것 같다.

 

https://feedback.azure.com/forums/908035-sql-server/suggestions/33831496-sql-server-2014-database-mail-causes-high-cpu-usag

 

 

솔루션

 

SQL 서버 2016 경우 SQL Server에 대한 누적 업데이트 2 2016 SP1 이후에 해결 될 수 패치. 그러나 SQLServer에 2014 년에, 필요가 일시적으로 메일 서비스를 다시 시작하여 문제를 해결합니다.

 

EXEC MSDB . DBO . sysmail_stop_sp

 

EXEC MSDB . DBO . sysmail_start_sp

추천

출처www.cnblogs.com/kerrycode/p/12483712.html