首先你需要知道你要做的几部:
1 每个数据库都有自己的 SERVICE BROKER 很多SQL SERVER内部服务依赖它
2 启动 SERVICE BROKER 需要
1 STOP 你的 SQL SERVER AGENT (就是说SQL server 代理)
2 alter database helpdesk2 set enable_broker ( 在脚本中运行这个脚本)
有的时候启动不了你的SERVICE BROKER原因就在于你没有关闭你的SQL SERVER AGENT
另外如果你要打开BROKER
你需要 管理员的权限 。
其次: 等你确认上面的你都完成了,下面就可以进入我们期待已久的主要过程了。 ↓↓↓
其次 :如果还出现错误。请按照下面的操作进行。
--- 我自己使用outlook 邮箱发送成功了。
再次给大家看看具体的。
最后 给大家上一个网友传的案例:
最最后 我们对邮件代码来分析一下:
--本文示例SQL: USE msdb --使用的邮件服务器 GO ---不解释 --以下是正常的SQL语句 --你要做什么事就怎么写 DECLARE @cnt INT; DECLARE @emailBody VARCHAR(4000); SELECT @cnt=COUNT(*) FROM ng0002.dbo.secuser; IF @cnt>100 -- 可以使用条件语句哦~~ BEGIN SELECT @emailBody='数据库用户表记录数已达:'+convert(varchar,@cnt) ; Exec dbo.sp_send_dbmail --使用的配置的邮件名 @profile_name='SQLMailConfig', --不清楚 @recipients='subscriber@126.com', -- 收件人 @subject='用户数预警', --主题 @body=@emailBody --内容 --还可以有查询(下面的另一个代码) END --上述语句的意思就是,如果IF成立 就 发送邮件,邮件发送的内容。 --------例子2 USE msdb GO Exec msdb.dbo.sp_send_dbmail @profile_name='SQLMailConfig', @recipients='subscriber@126.com', @query='select logid,u_name from ng0002.dbo.secuser', --这是一个查询 @subject='用户数预警', @body='查询结果,详见附件', @attach_query_result_as_file =1,--查询结果以附件形式发送 @query_attachment_filename ='查询结果.Txt'--邮件附件名称 GO
到此,使用SQL发邮件的功能和可能遇到的问题应该全部解决了。
如果其他问题,请留言~~~
参考网址:
http://www.2cto.com/database/201403/289114.html
http://answers.microsoft.com/zh-hans/outlook_com/forum/oemail-osend/%E8%AF%B7%E9%97%AEoutlookcom%E7%9A%84imap%E6%9C%8D/dbda3ec9-291b-4763-b7f6-793f2724e827
http://jingyan.baidu.com/article/d713063523564f13fcf47570.html
http://zhangkui.blog.51cto.com/1796259/340557/
-------------------------------------------------上面我们配置好了sql 邮件服务功能-------------------------------------
接下来我们就说说 我们平时使用sql代理作业 利用邮件功能给我们发送作业执行情况。
所有的基础都是 你要开启SQL server的代理服务
第一步:当然也就是上面所说的 配置 sql 邮件服务功能。
第二步:在sql server 代理中设置操作员。 详细见下图
第三步:在你的作业中设置 【通知】选项中填写邮件信息。
详细: