SQL邮件服务(解决各种疑难杂症)+案例

Posted 打不死的奥特曼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL邮件服务(解决各种疑难杂症)+案例相关的知识,希望对你有一定的参考价值。

首先你需要知道你要做的几部:

  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 代理中设置操作员。 详细见下图

第三步:在你的作业中设置 【通知】选项中填写邮件信息。

详细:

以上是关于SQL邮件服务(解决各种疑难杂症)+案例的主要内容,如果未能解决你的问题,请参考以下文章

Linux疑难杂症解决方案100篇(十九)-什么是TCP协议中的“三次握手,四次挥手”?带你深入探讨下

黑苹果解决Siri无法识别问题

持续更新android studio 编译各种疑难杂症,总有你想要的~

99% 的人都不知道的 Kubernetes 网络疑难杂症排查方法

一文解决Flutter中使用TextField遇到的各种疑难杂症

Python安装alipay-sdk提示安装pycrypto各种疑难杂症及解决方案