카테고리 보관물: Sql

sql

SQL Server 2016 DB 메일이 전송되지 않음 규칙을 입력했습니다. 전송되지

SQL Server 2016을 사용 중이며 폭발이 심합니다 … DB 메일이 전송되지 않고 볼 곳이 부족합니다. DBmail 실행 파일에 대한 SQL 계정 권한을 두 번 확인했습니다. 읽고 실행했습니다. 방화벽 아웃 바운드 포트 587에 대한 규칙을 입력했습니다. 전송되지 않은 동일한 문제로 다른 메일 계정과 프로필을 시도했습니다. 로그의 유일한 항목 (db 메일 로그)은 서비스를 시작하고 종료합니다. 어디서나 찾을 수있는 오류가 없습니다. 전자 메일은 단순히 보내기 대기열에 들어가고 절대 떠나지 않는 것처럼 보입니다. 계정은 자체적으로 또는 다른 컴퓨터의 SQL Server 2014 인스턴스에서 전자 메일을주고받을 수 있습니다.

보냄 상태가 ‘보내지 않음’인 항목 대기열이 있고 긴 보지 않은 메일 대기열을 제외하고 모든 정상적인 장소를 예상 결과로 확인했습니다.

SELECT * FROM msdb..sysmail_event_log order by log_id DESC

SELECT * FROM dbo.sysmail_mailitems

SELECT * FROM dbo.sysmail_sentitems

USE msdb
SELECT sent_status, *
FROM sysmail_allitems

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

 EXECUTE msdb.dbo.sysmail_help_status_sp

전원을 껐다가 다시 켜려고했는데이 상황을 밝힐 수있는 DMV 등을 놓쳤습니까? 검색에 포함되지 않은 SQL Server 2016의 알려진 문제입니까? 이 메일을받을 수있는 다른 단계가 있습니까?



답변

변덕스럽게도 권한을 재확인 할 때 실제 DB 메일 실행 파일을 두 번 클릭했습니다. SQL Server 2014 컴퓨터의 결과는 빈 명령 창이었습니다. SQL Server 2016에서 DB Mail 실행 파일을 클릭하면 다음 메시지가 표시됩니다.

SQL Server 2016 설명서에서이 요구 사항을 찾을 수 없지만 분명히 요구 사항입니다. DB Mail은 .NET 3.5를 설치하는 것 외에 다른 변경 사항없이 완벽하게 작동합니다.


답변

Microsoft 지원에 따르면 SQL Server 2016 설치에 .net 3.5없이 데이터베이스 메일이 작동하지 않는 버그가 있습니다.

DatabaseMail.exe 가 존재 하는 동일한 폴더 (Binn ​​폴더)에 DatabaseMail.exe.config 파일 을 작성하여 해결 방법이 있습니다. 파일에 다음을 작성하고 utf-8 인코딩으로 저장하십시오.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>
<supportedRuntime version="v2.0.50727"/>
</startup>
</configuration>

원본 : FIX : .NET Framework 3.5가 설치되어 있지 않은 컴퓨터에서 SQL Server 2016 데이터베이스 메일이 작동하지 않음


답변

대신 이것을 살펴보십시오. 이런 식으로 .net 3.5를 설치하는 대신 파일 만 복사하면됩니다. CU1을 먼저 설치해야합니다. 자세한 내용은 여기 를 확인 하십시오 .


답변

게다가 이미 표시된대로 그것은 또한 SQL Server 에이전트 수준에서 활성화 전자 메일 프로필에 중요 원인을 언급 여기 :

  • SQL Server 에이전트를 마우스 오른쪽 단추로 클릭하고 속성을 선택하십시오.
  • 왼쪽 분할 창에서 경보 시스템을 선택하십시오.

  • 확인 표시> 메일 프로필 사용

  • 메일 시스템 확인 : 데이터베이스 메일
  • 메일 프로파일 확인 : SQLAlerts
  • 확인 표시> 알림 메시지에 전자 메일 본문 포함
  • 확인을 클릭하십시오.
  • 에이전트를 다시 시작하십시오.

답변