avatar

Catalog
MSSQL-sp_send_dbmail(Transact-SQL)

MSSQL에서 자동메일을 특별한 양식없이 알림성으로 받기 좋은 방법이 있습니다, sp_send_dbmail 이라고 하는 놈인데요 이게 express버전에서는 메뉴가 없습니다, 정품을 사용하고 설치옵션에서 해당사항을 체크해야 보이더라고요

데이터베이스 메일 > 데이터베이스 메일구성 에서 없으면 등록하면 됩니다

설정은 끝입니다, POP3 설정이랑 비슷하죠? 당연히 SMTP설정은 되어있어야 합니다.
SQL Server 에이전트 설정을 해주시면 됩니다 이제

이후 Batch Job을 걸어서 호출하는 방식 입니다.

sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
sp_configure 'show advanced options', 1
sp_configure 'show advanced options', 1
go
reconfigure
go
sp_configure 'Database Mail XPs',1
go
reconfigure
go

use msdb
go

declare @body_str varchar(2000);

set @body_str = '메일이 ' + @@SERVERNAME + '로 부터 발송되었습니다.'
set @body_str = @body_str + ''
set @body_str = @body_str + '발송 시간 : ' + cast(getdate() as varchar(20)) + ''
set @body_str = @body_str + '발송 머신 : ' + HOST_NAME() + ''
set @body_str = @body_str + ''
set @body_str = @body_str + '감사합니다.'

exec msdb.dbo.sp_send_dbmail
@profile_name = 'UserEmailSender'
,@recipients = 'jklee@wylie.co.kr'
,@subject = '데이터베이스 메일 보내기 테스트'
,@body = @body_str
,@body_format = 'html';



----------결과조회

use msdb

select *
from sysmail_mailitems


select *
from sysmail_log

결국 메일에 따라서 스팸으로 가기도 하겠지만 양식 맞추는게 노가다성으로 보여지긴 합니다만 저는 이거 하나로 매일 받아야하는 알림을 약 2년여간 아주 잘 활용했었습니다.

Author: i6020345
Link: http://blog.i6020345.com/2015/12/03/MSSQL-sp-send-dbmail-Transact-SQL/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Donate
  • 微信
    微信
  • 支付寶
    支付寶