안녕하세요?
현재 사내에서ERP 관련으로 SQLSERVER 운영하고 있는 초보 db관리자 입니다.(3년째 운영중...ㅎ)
내부 프로젝트 추진 중에 SQL SERVER에서 이메일 발송 기능을 사용할려고 하는중에 문제가 발생되고 해결첨을 찾지 못하여
이렇게 도움을 구해봅니다. ㅠㅠ
개발환경
1. 윈도우서버 2012R2
2. MSSQL SERVER 2008 R2 설치후 2012 로 업그레이드 설치
-에이젼트 실행(정기적으로 db,log 백업 실행중) , 경고시스템 메일세션에 프로필 적용됨.
-브라으져 실행
-레포팅서비스 실행
3. SMTP 설정 및 시도 내역.
-윈도우 서버 역할기능 추가 smtp 서버 설치후
127.0.0.1 기본 지정으로 telnet 명령어 test 메일 발송하였으나 실패.
----외부smtp사용---
-smtp.gmail.com
-smtp.naver.com
4. SQL 메일 프로필 설정
- 공개프로필로 사용.
- SSMS 접속 계정(윈도우인증) 사용하여 서버역할 systemadmin 및 사용자 매핑 msdb 역할멤버자격 DatabaseMailUserRole 할당함.
5. 내부 방화벽 설정
- MSSQL 내부 ERP 사용자 접속 포트 ( 프로토콜 구성관리중 tcp/IP ALL 15XXX 지정사용) / 방화벽 인바운드 규칙 설정됨.
- 1433 포트 인바운드 규칙 설정.
- UDP 1434 인바운드 규칙 설정.
문제점 : exec msdb.dbo.sp_send_dbmail 프로시져 실행을 하면 SSMS 에서는 오류는 없습니다.
그러나 실행 메일 발송은 실패 한것으로 나옵니다. sent_status 0 (구글검색해보니 1로 나와야 메일발송이 성공한것이라네요.)
내부 서버 pc 프로세스 모니터를 보면 databasemail.exe 는 실행되지만, 윈도우 관리자 이벤트에 아래와 같이 나옵니다.
SQL SERVER 쪽 문제인지, 원도우 서버 문제 인지 도저히 해결방법을 찾지 못하겠네요..
고수님들의 조언 부탁드립니다.
감사합니다.
Comment 1
-
신가이
2018.12.20 20:13
추가적으로 진행테스트 내용 적어봅니다.
sqlserver 에서 프로시져 실행시는 큐 대기중 이고..
sqlserver 실제경로 들어가서 databasemail.exe 파일을 실행 시키면 메일 발송은 됩니다.