SQL Server邮件配置,SQL代理作业,自动执行完发送QQ邮件。
需求是:用友T+ ERP数据库以前无缘无故损坏,所以想每天自动执行dbcc 脚本,然后把结果每天发送qq邮箱了解状态。
系统:win10专业版,数据库:SQL 2008R2with sp3 版本:10.50.6000
1.配置数据库邮件系统。
具体配置。这里就不说百度搜索一大把。有看图配置的。也有脚本配置的。个人测试觉得还是脚本配置省力。以下是我用搜狐邮箱脚本,自己把用户密码等条件自己修改
--SQLSERVER开启发邮件功能
exec sp_configure 'show advanced options',1
reconfigure with override
go
exec sp_configure 'database mail xps',1
reconfigure with override
go
--1.创建邮件帐户信息
exec msdb.dbo.sysmail_add_account_sp
@account_name ='账户abc', -- 邮件帐户名称
@email_address ='邮箱账户@sohu.com', -- 发件人邮件地址
@display_name ='姓名', -- 发件人姓名
@MAILSERVER_NAME = 'smtp.sohu.com', -- 邮件服务器地址
@PORT =25, -- 邮件服务器端口
@USERNAME = '邮箱账户@sohu.com', -- 用户名
@PASSWORD = 'password ' -- 密码
GO
--2.数据库配置文件
exec msdb.dbo.sysmail_add_profile_sp
@profile_name = 'SQL-DBCC', -- 配置名称
@description = '数据库配置-DBCC' -- 配置描述
go
--3.用户和邮件配置文件相关联
exec msdb.dbo.sysmail_add_profileaccount_sp
@profile_name = 'SQL-DBCC', -- 配置名称
@account_name = '账户abc', -- 邮件帐户名称
@sequence_number = 1 -- account 在 profile 中顺序(默认是1)
GO
--4.测试邮件是否成功
exec msdb.dbo.sp_send_dbmail
@profile_name = 'SQL-DBCC', --配置名称
@recipients = '11111111@qq.com', --收件名称
@body_format = 'HTML', --内容格式
@subject = '文章标题11',
@body = '邮件内容11'
*****这里说下此次配置的问题。刚开始用QQ企业邮箱。开始测试成功了。后面就在也不行了,现在还不知道为什么原因。
QQ企业邮箱 提示,我怀疑是那个【第三方客户端安全登陆码】有关。
邮件项 ID 16
上次修改时间 2018-12-17 19:17:18
上次修改者 sa
消息
由于邮件服务器故障,无法将邮件发送给收件人。 (使用帐户 3 (2018-12-17T19:17:18) 发送邮件。 异常邮件: 无法将邮件发送到邮件服务器。 (发送邮件失败。)。
)
QQ企业邮箱不行了。
后面改成网易163.com的邮箱也奇怪,在自己笔记本上测试了几次可以。到正真部署的主机上又不行了。真是吐血啊,后面回到自己的笔记本也不行了。就是下面提示,
消息
由于邮件服务器故障,无法将邮件发送给收件人。 (使用帐户 3 (2018-12-17T18:23:29) 发送邮件。 异常邮件: 无法将邮件发送到邮件服务器。 (事务失败。 服务器响应为: DT:SPM 163 smtp13,EcCowAA3VakgeRdcbQYdBA--.18073S2 1545042208,please see http://mail.163.com/help/help_spam_16.htm?ip=60.182.189.126&hostid=smtp13&time=1545042208)。
)
这次我特意重新去修改了。【第三方客户端安全登陆码】,但是还是这样。
--------------------------------------------------------------------------------------------------------------------------------
后面实在没办法启用了N年前注册的搜狐邮箱了。这次邮件测试邮件成功了
为什么前面怀疑【第三方客户端安装登陆码】,因为搜狐没有这个功能,只要启用smtp就可以了。
-------------------------------------------------------------------------------------------------------------------------------
邮件测试成功后,然后【SQL SERVER代理】-【作业】-选择具体的作业【作业开始步骤】 如下图
等待执行完成,这时发现邮件不会自动发送;刚开始以为是【操作员】设置的问题,结果看没有问题,然后去看日志 有错误,如下图
消息,
[264]尚未建立电子邮件会话就试图发送电子由邮件
这回就靠 度娘了。终于找到一片文章说是【SQLserver代理】服务器需要重启一下,结果重启一下,果然OK。
度娘广告确实够多,这时突然觉得度娘还是强的。