来自 新葡亰数据库 2019-11-06 09:27 的文章
当前位置: 澳门新葡亰app > 新葡亰数据库 > 正文

这个可以在配置成功Mail以后查看任务管理器中的

 

正文转自:

能够运用SQL SE奥迪Q5VE库罗德 来发送自动邮件,首假如应用SQL SE奥德赛VELacrosse 的dbo.sp_send_dbmail 存款和储蓄进程(在msdb数据库中卡塔 尔(阿拉伯语:قطر‎。

一、 背景

具体步骤如下:

数据库发邮件文告数据库的运作意况(状态能够透过JOB格局得到卡塔 尔(阿拉伯语:قطر‎和消息,达到预先警示的机能。

Step1: 编写要发送的邮件内容,然后调用sp_send_dbmail 存储进度来发送邮件:

 

declare @tableHTML varchar(max)

SET @tableHTML =

N'<style>

table { width:100%;}

table, th, td {

border: 1px solid black;

border-collapse: collapse;}

th, td {

padding: 5px;

text-align: left;}

th { background-color:#4682B4;

font-size:12.0pt;

font-weight:bold;

font-family:Arial ,sans-serif;

color :#ffffff;}

 tr { font-size:8.0pt;font-family:Arial,sans-serif;}'+

N'</style><H1 style="text-align:center">部门信息</H1>'+

N'<table align="center">'+

N'<tr><th width=20%" >部门编号</th>'+

N'<th width=40%>部门名称</th><th width=40%>上级部门名称</th>'+
N'</tr>'+
CAST((
select 
td=a.DepartID,'',
td=a.DepartName,'',
td=ISNULL(b.DepartName,'(NULL)'),''
from TTEM.dbo.EMOrgStructure a 

leftjoin TTEM.dbo.EMOrgStructure b on a.DepartParentID=b.DepartID

FORXMLPATH('tr'),TYPE

)ASNVARCHAR(MAX))+

N'</table>';
Exec dbo.sp_send_dbmail
@profile_name='DannyTest',
 @recipients ='V-Test@163.com',
 @subject='Test Stored Procedure Funtion of Sending Mails',
 @body=@tableHTML,
 @body_format ='HTML';

二、 根底知识

 

msdb系统数据库保存有关Job,Database Mail,Nodifyication等等等等音信的。MSSQL二零零六后头的邮件功能,使用了Services Broker举行了队列管理。然后选用外界进度,那么些能够在安插成功Mail以往翻看义务微处理器中的进度。

Step2: 履行完STEP1 的代码后就可以在收件箱中查看见刚才从SQL SECR-VVESportage自动发送的邮件了:

另外 sp_send_dbmail是手动发送邮件的存放进度,大家必得出示的赋值技能发送。

 

 

澳门新葡亰app 1

三、 图形分界面格局开创数据库邮件

   

上面就以SSMS的图形分界面介绍如何创制数据库邮件;

Step3: 初次在MSDB 中调用sp_send_dbmail 时,大概不成事,那是因为数据库暗中同意未有启用和布署邮件作用,可参看如下步骤:

澳门新葡亰app 2

1,在SQL MANAGEMETN STUDIO 的“Management”---->"Database Mail"中张开安插:首要时设置Profile Name,设置发送邮件的发赠给外人,发送邮件服务器等

(Figure1:数据库邮件卡塔尔

 

澳门新葡亰app 3

澳门新葡亰app 4

(Figure2:以手续情势创造卡塔 尔(阿拉伯语:قطر‎

 

澳门新葡亰app 5

 

(Figure3:成立布局文件名卡塔 尔(阿拉伯语:قطر‎

澳门新葡亰app 6

澳门新葡亰app 7

更详尽的配备可参考如下页面:

(Figure4:添加Email帐号)

此间设置的Email音信是代表之后就以那几个Email帐号发送邮件,这里的服务器名称填写的是smtp.126.com,端口为25,你需求通过上面包车型客车秘技测验那个地点是不是足以访谈。假设打断有非常大大概是你机器防火墙的难点。

澳门新葡亰app 8

澳门新葡亰app, 

(Figure5:测试ping)

 

澳门新葡亰app 9

 

澳门新葡亰官网APP,(Figure6:测试telnet)

 

澳门新葡亰app 10

 

(Figure7:配置文件与邮件对应涉及卡塔尔

 

此处您能够增进三个Email帐号,在曲折的时候会利用下三个顾客尝试发送。

 

澳门新葡亰app 11

 

(Figure8:公共配置文件卡塔 尔(阿拉伯语:قطر‎

 

澳门新葡亰app 12

(Figure9:系统尝试,无需修改卡塔尔国

澳门新葡亰app 13

(Figure10:成功界面卡塔尔

澳门新葡亰app 14

(Figure11:成功发送邮件卡塔 尔(阿拉伯语:قطر‎

 

四、 数据库邮件相关脚本

澳门新葡亰app 15;)

--脚本创建数据库邮件
--1.开启数据库邮件
EXEC sp_configure 'show advanced options',1
RECONFIGURE WITH OVERRIDE
GO
EXEC sp_configure 'database mail xps',1
RECONFIGURE WITH OVERRIDE
GO

--2.创建邮件帐户信息
EXEC  msdb..sysmail_add_account_sp
      @ACCOUNT_NAME ='ETLErrorMailLog',--邮件帐户名称
      @EMAIL_ADDRESS ='******@126.com',--发件人邮件地址
      @DISPLAY_NAME ='系统管理员',--发件人姓名
      @REPLYTO_ADDRESS =NULL,
      @DESCRIPTION = NULL,
      @MAILSERVER_NAME = 'SMTP.126.COM',--邮件服务器地址
      @MAILSERVER_TYPE = 'SMTP',--邮件协议
      @PORT =25,--邮件服务器端口
      @USERNAME = '******@126.com',--用户名
      @PASSWORD = '******',--密码
      @USE_DEFAULT_CREDENTIALS =0,
      @ENABLE_SSL =0,
      @ACCOUNT_ID = NULL
GO

--3.数据库配置文件
IF EXISTS(SELECT name FROM msdb..sysmail_profile WHERE name=N'ETLErrorProfileLog')
BEGIN
    EXEC msdb..sysmail_delete_profile_sp
    @profile_name='ETLErrorProfileLog'
END

EXEC msdb..sysmail_add_profile_sp
    @profile_name = 'ETLErrorProfileLog',--profile名称
    @description = '数据库邮件配置文件',--profile描述
    @profile_id = null
GO

--4.用户和邮件配置文件相关联
EXEC msdb..sysmail_add_profileaccount_sp
    @profile_name = 'ETLErrorProfileLog',--profile名称
    @account_name = 'ETLErrorMailLog',--account名称
    @sequence_number = 1--account 在profile 中顺序
GO

--5.1发送简单文本的邮件
EXEC msdb..sp_send_dbmail
    @profile_name = 'ETLErrorProfileLog',--profile名称
    @recipients = '******@qq.com',--收件人
    @subject = 'Test title this is test ',--邮件标题
    @body = N'数据库邮件测试',--邮件内容
    @body_format = 'HTML'--邮件格式
GO

--5.2发送包含查询的邮件
EXEC msdb..sp_send_dbmail
    @profile_name = 'ETLErrorProfileLog',
    @recipients = '******@qq.com',
    @subject = '查询结果',
    @query = 'SELECT * FROM msdb.dbo.sysmail_faileditems'
GO

--5.2发送包含附件的邮件
EXEC msdb..sp_send_dbmail
    @profile_name = 'ETLErrorProfileLog',
    @recipients = '******@qq.com',
    @subject = '包含附件',
    @body = '有附件,请查收',
    @file_attachments = 'c:a.txt'
GO

--5.3发送查询作为附件的邮件
EXEC msdb..sp_send_dbmail
    @profile_name = 'ETLErrorProfileLog',
    @recipients = '******@qq.com',
    @subject = '查询结果',
    @body = '查询结果在附件中',
    @query = 'SELECT * FROM msdb.dbo.sysmail_faileditems',
    @attach_query_result_as_file = 1,
    @query_attachment_filename = 'a.txt'
GO

澳门新葡亰app 16;)

 

五、 参照他事他说加以考察文献

MSSQL数据库邮件种类二(SSMS和TSQL)

SQL Server:在 SQL Server 2006中布署数据库邮件,发送邮件

SQL Server Reporting Services一步步达成邮件订阅

动用SQL SERAV4VE帕Jero2006发送邮件

SQL Server 监察和控制类别 —— 风度翩翩

祥解使用 SQL Server 二〇〇七/2010发送数据库邮件

奇妙SQL Server设置 备份状态邮件文告

数据库邮件

数据库邮件音信管理指标

sp_send_dbmail (Transact-SQL).aspx)

-------------------华丽分割线-------------------

作者:听风吹雨

出处:

版权:本文版权归笔者和新浪共有

转发:迎接转发,必得保留最早的文章链接

邮箱:gaizai@126.com

格言:嫌恶是因为你不会 && 因为会由此爱好

-------------------华丽分界线-------------------

 

本文由澳门新葡亰app发布于新葡亰数据库,转载请注明出处:这个可以在配置成功Mail以后查看任务管理器中的

关键词: