SQL Server 2016 DB 메일이 전송되지 않음


17

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의 알려진 문제입니까? 이 메일을받을 수있는 다른 단계가 있습니까?


이메일을 보내는 프로필이 비공개입니까?
Kin Shah

오류가 있습니까? 로그는 어떻습니까? 그리고 메일 서버? 메일 서버가 SQL로부터 연결을 수신합니까? 이 질문에는 관련 정보가 많이 없습니다 ...
Paolo

@kin 아니요, 공개 이메일입니다. 두 전자 메일은 모두 office 365이며 계정은 SQL 2014에서 제대로 전송 및 수신됩니다. 상황을 설명하는 첫 번째 단락 끝에 몇 가지 세부 정보가 추가되었습니다.
Dave

데이터베이스 메일 프로필을 의미했습니다.
Kin Shah

SQL Server 2016 상자에서 SMTP 서버를 핑 / 텔넷으로 연결할 수 있습니까? 그렇다면 mssqltips.com/sqlservertip/1625/… 링크 에서 VB 스크립트를 실행 하여 SMTP 문제를 배제 할 수 있습니까 ? 테스트 메일을 받으면 SQL 서버에 문제가 있는지 확인할 수 있습니다.
SQLPRODDBA

답변:


17

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

여기에 이미지 설명을 입력하십시오

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


나는 같은 문제가 있었다. .net 3.5를 적용하여 해결되었습니다.
Swears-a-lot 선생님

이 문제도 해결되었습니다! 그것은 나를 미치게했지만 NET3.5를 설치하면 문제가 해결되었습니다!
NULL. 2018

이것은 2016 SP1 CU8의 저에게 동일한 문제를 해결했습니다
James Anderson

DB 메일 실행 파일은 어디에 있습니까?
JzInqXc9Dg

@Dave OH 예수는 놀랍습니다. 이 서버에서 LogMeIn을 사용하십니까? LogMeIn이 물건을 제거하거나 삭제하는 기괴한 상황이 발생하여 승인을 거부했습니다. 한 지점에서 내 데이터베이스 메일은 하나 개의 박스에 벌금을 근무하고 확실히 우리의 LogMeIn로 이동 시간 월경에 작동이 중지
존 Zabroski을

10

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 데이터베이스 메일이 작동하지 않음


4

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


2
이미 [SQL Server 2016 누적 업데이트 2 | [FIX : .NET Framework 3.5가 설치되지 않은 컴퓨터에서 SQL Server 2016 데이터베이스 메일이 작동하지 않는 support.microsoft.com/en-us/kb/3182270] | support.microsoft.com/en-us/kb/3186435] .
Vladislav

1
여기까지 끝나기 전에이 문제를 살펴 보는 데 30 분 밖에 걸리지 않았습니다. 더 많은 시간을 절약 해 주셔서 감사합니다.
Paul

1

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

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

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

  • 메일 시스템 확인 : 데이터베이스 메일
  • 메일 프로파일 확인 : SQLAlerts
  • 확인 표시> 알림 메시지에 전자 메일 본문 포함
  • 확인을 클릭하십시오.
  • 에이전트를 다시 시작하십시오.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.