温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

数据库邮件

发布时间:2020-05-25 13:31:41 来源:网络 阅读:518 作者:胡壮壮 栏目:数据库

在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='<table>
<tr>
    <td>first row</td>
</tr>
<tr>
    <td>second row</td>
</tr>
</table>'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

数据库邮件

 


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI