sql邮件搭建.docx
- 文档编号:3565604
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:17
- 大小:924.54KB
sql邮件搭建.docx
《sql邮件搭建.docx》由会员分享,可在线阅读,更多相关《sql邮件搭建.docx(17页珍藏版)》请在冰豆网上搜索。
sql邮件搭建
1.简单了解数据库邮件的概念和使用的传输协议及系统体系:
数据库邮件是从SQLServer数据库引擎中发送电子邮件的企业解决方案。
通过使用数据库邮件,数据库应用程序可以向用户发送电子邮件。
邮件中可以包含查询结果,还可以包含来自网络中任何资源的文件。
无需MicrosoftOutlook或扩展消息处理应用程序编程接口(扩展MAPI)。
数据库邮件使用标准的简单邮件传输协议(SMTP)发送邮件。
无须在运行SQLServer的计算机上安装扩展MAPI客户端便可以使用数据库邮件。
要是想详细了解有关数据库邮件其他详细描述内容,可以查阅联机帮助文档:
URL:
ms-help:
//MS.SQLCC.v10/MS.SQLSVR.v10.zh-CHS/s10de_4deptrbl/html/14cbf88f-d9d1-41a5-994e-532e2973ac9e.htm
2.下面我们通过使用数据库邮件配置向导和sp_configure存储过程配置启用数据库邮件:
这里我用QQ邮箱.
上面,我们配置好数据库邮件账户和配件文件,现在我们使用SQLMailXPs选项可在此服务器上启用SQLMail(该选项默认是关闭的)。
sp_configure'showadvancedoptions',1
go
Reconfigure;
go
sp_configure'SQLMailXPs',1
go
Reconfigure;
go
设置立即生效,无需停止并重新启动服务器,
3.发邮件测试及查询数据库邮件日志:
usemsdb
Go
Execdbo.sp_send_dbmail@profile_name='Andy的邮件配件',
@recipients='test@',
@subject='数据库邮件测试',
@body='这是从WWW-0A82D0DF67C\SQL2008DE上的数据库邮件发出的测试电子邮件!
'
Go
查看数据库邮件日志:
usemsdb
Go
Select*Fromdbo.sysmail_log
GO
要是发送OK,那么我们在发送目标邮箱里面就会收到类似这样的成功邮件:
第二部分
可以用于备份数据库的时候,发邮件通知
1.可以在作业的脚本完成.
可以在作业的脚本中添加发邮件的脚本.
usemsdb --这个一定要加,不然会提示找不到sp_send_dbmail存储过程
go
EXECdbo.sp_send_dbmail--调用SQL2005的邮件发送的存储过程。
@profile_name='test',--就是配置文件名。
(查看以前的数据库邮件配置)
--调用发送邮件的存储过程,登录帐号必须有msdb的datamail权限
@recipients='45363942@',--用来接受邮件的地址
@subject='邮件测试',
@body='邮件测试成功!
'
优点:
1.无需其它特别的配置
2.邮件的内容可以自定义
缺点:
可能这些中的一些状态无法进行处理.
2.利用通知来发邮件
优点:
很清楚什么状态的时候发邮件.
缺点:
1.要进行一些特别的配置
2.邮件的内容不可以自定义
以下为通知发邮件的配置:
定义操作员
使用MicrosoftSQL管理套件连接到这个实例。
双击SQLServer代理。
右键单击Operators并选择NewOperator(新建操作员)。
图1
指定操作员名称、E-mail名称并点击OK。
图2
建立SQL代理设置
注意:
这个步骤在第一次创建警告的时候通常被忽略。
SQL代理必须为操作员正确地建立以接收警告e-mail。
右键单击SQLServerAgent->选择Properties
图3
选择左边面板中的AlertSystem(警告系统):
选择启用邮件配置文件
检查Mailsystem:
DatabaseMail
检查MailProfile:
aa(这个是以上配置数据库发邮件里设置的)
选择Includebodyofe-mailinthenotificationmessage(在通知信息中包含e-mail内容)
点击OK。
图4
重启SQL代理来激活这些设置
警告:
重启SQL代理将取消所有在执行的工作。
图5
Execmsdb.dbo.sp_send_dbmail
@profile_name='shuwen78',--使用的数据库邮件配置文件
@recipients='36521495@QQ.COM',--收件人地址,多个收件人可用分号分隔
@body='Thestoredprocedurefinishedsuccessfully.dfdfdsfsfasfasdf',
@subject='每小时缓存中执行时间最长的50个语句'--邮件主题
--启用服务
sp_configure'showadvancedoptions',1;
GO
RECONFIGURE;
GO
sp_configure'DatabaseMailXPs',1;
GO
RECONFIGURE
GO
EXECUTEmsdb.dbo.sysmail_help_queue_sp@queue_type='Mail'
select*frommsdb..sysmail_event_log;--检查错误日志
select*frommsdb.dbo.sysmail_allitems--察看邮件
selectis_broker_enabledfromsys.databaseswherename='msdb'
下面是我的测试SQL:
usemdsb
--基本的发送语句
EXECsp_send_dbmail@profile_name='xx_adam',
@recipients='xx_adam@',
@subject='我数据库邮件测试成功了!
',
@body='hello,world!
'
--包含查询的
EXECsp_send_dbmail@profile_name='xx_adam',
@recipients='xx_adam@',
@subject='查询结果',
@query='select*fromdemo.dbo.orders',
--包含附件
EXECsp_send_dbmail@profile_name='xx_adam',
@recipients='xx_adam@',
@subject='包含附件',
@body='有附件,请查收',
@file_attachments='c:
a.txt'
--将查询作为附件
EXECsp_send_dbmail@profile_name='xx_adam',
@recipients='xx_adam@',
@subject='查询结果',
@body='查询结果在附件中',
@query='select*fromdemo.dbo.orders',
@attach_query_result_as_file=1,
@query_attachment_filename='a.txt'
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- sql 邮件 搭建