数据库邮件
admin
2023-05-25 15:01:03
0次

在SQL Server中配置好Database Mail之后,可以使用存储过程 msdb.dbo.sp_send_dbmail 给特定的User发送mail,或在第一时间通知DBA数据库执行的异常情况,是一个非常不错的功能。 

一,配置数据库邮件

1,在SSMS的Management中,点击Database Mail打开Database Mail Configuration Wizard

数据库邮件

2,创建Profile

在发送database mail的时候,需要指定数据库邮件的Profile,Profile一个配置文档,包含SMTP Server地址,SMTP Server身份验证等的配置文档。

点击Add,创建SMTP Account。

数据库邮件

3,增加SMTP Account,需要配置Database mail的发送地址,SMTP Server URL和 SMTP Server Authentication

数据库邮件

4,设置默认的Profile,

如果设置了默认的Profile,执行msdb.dbo.sp_send_dbmail 时不需要@profile_name显式指定Profile name。

数据库邮件

 5,发送测试mail

Database Mail 自带有"Send Test E-Mail"和“View Database Mail Log”的功能,用来查看Database mail的发送情况。

数据库邮件

 二,使用TSQL语句发送mail

1,使用 msdb.dbo.sp_send_dbmail 发送mail,由于设置了default profile,所以不需要显示使用@Profile_Name来指定Profile。

EXEC msdb.dbo.sp_send_dbmail    @recipients='xxx@domainname.com'
    ,@subject='Test email subject'
    ,@body='test email body'
    --,@profile_name='default'

使用msdb.dbo.sp_send_dbmail也能发送HTML格式的mail,需要在参数@body_format指定格式。
[ @body_format= ] 'body_format'

默认值是Text,表示发送的是邮件正文是text格式;HTML格式,可以使用HTML 标签

2,发送text格式的邮件

数据库邮件

EXEC msdb.dbo.sp_send_dbmail    @recipients='xxx@domainname.com'
    ,@subject='Test email subject'
    ,@body='test email body'
    --,@profile_name='default_ProfileName'
    --,@body_format='text'

数据库邮件

@Body_Format 参数的默认值是Text

3,发送Html格式的mail

数据库邮件

declare @htmlbody varchar(max)set @htmlbody='
    
    
first row
second row
'EXEC msdb.dbo.sp_send_dbmail    @recipients='xxx@domainname.com'     ,@subject='Test email subject'     ,@body=@htmlbody     --,@profile_name='default_ProfileName'     ,@body_format='Html'

数据库邮件

4,将查询结果作为mail的body

存储过程 msdb.dbo.sp_send_dbmail 可以执行一个select 查询子句,并将查询结果作为一个附件发送出去。

数据库邮件

EXEC msdb.dbo.sp_send_dbmail    @recipients='xxx@domainname.com'
    ,@subject='Test email subject'
    --,@profile_name='default_ProfileName'
    --,@body_format='text'
    ,@query='select * from db_study.dbo.test'
    ,@attach_query_result_as_file = 1

数据库邮件

 


相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...