SqlServer发送邮件,定时作业

时间:2021-04-21 16:20:11

今天偶然研究了一下sqlserver发送邮件的功能,之前听说过可以发,但是一直没尝试过,只是用C#写后台程序的方式来发邮件。

现在又多了一种发送邮件的途径。

大致的步骤如下:

1.配置sqlserver邮件发送的smtp服务器。

2.发送测试邮件验证配置的正确性。

3.新建作业,编写sql脚本

4.配置作业,完成。

完整的教程参考自:

http://zhangkui.blog.51cto.com/1796259/340557

其中需要注意的是,

新建配置文件的时候需要记住配置的文件名称,因为发送时候的存储过程需要定义这个参数。

另外,在配置的时候,需要填写身份验证,而不是使用默认的匿名验证。

存储过程可以先在查询分析器中执行一下测试。存储过程需要在msdb库中运行!

SqlServer发送邮件,定时作业

SqlServer发送邮件,定时作业

发送邮件的sql语句如下:

USE msdb;
DECLARE @emailBody VARCHAR(4000);
SELECT @emailBody = COUNT(*)
FROM hrmtest.dbo.ehrusers; SET @emailBody = @emailBody + '啦啦啦' EXEC dbo.sp_send_dbmail @profile_name = 'test',
@recipients = 'wangjue_os@lightinthebox.com', @subject = 'mail test',
@body = @emailBody --declare @sql as varchar(4000)
--select @sql=''
--Select @sql=@sql+ c_name+','
--from hrmtest.dbo.employee1
--select @sql