SQL2005 发送邮件

最近在CSDN上面看了《实现统计一个表的记录数,如果每天超过一定数量就发送邮件报警的作业脚本》帖子。但是上面好多的意见多是在SQL2000上面的。于是自己就开始了一下在SQL2005上面的实践。
1。首先要启用数据库邮件存储过程。具体操作如下:

在“开始”菜单上,依次指向“所有程序”、Microsoft SQL Server 2005、“”,然后单击“SQL Server 外围应用配置器”。

单击“功能的外围应用配置器”。

在 MSSQLSERVER 下,展开“数据库引擎”,然后单击“数据库邮件”。

确保选中“启用数据库邮件存储过程”,然后单击“应用”。

退出 SQL Server 外围应用配置器工具。

2。当启用数据库邮件存储过程成功以后。我们就要开始配置我们的数据库邮件配置文件了。具体操作如下:
使用对象资源管理器,连接到配置了数据库邮件的 SQL Server 数据库引擎 实例,展开“管理”,右键单击“数据库邮件”,然后单击“配置数据库邮件”。这个时候会打开数据库邮件配置向导。按自己的需要配置即可。但是这里一点要记住了自己的配置文件名。因为一会要在使用存储过程发送用到。很多人在这里多没有注意到用存储过程发送的时候就没有地方找了。

3。现在我们就可以开始测试一下邮件的发送了。
使用对象资源管理器,连接到配置了数据库邮件的 SQL Server 数据库引擎 实例,展开“管理”,右键单击“数据库邮件”,然后单击“发送测试电子邮件”。如果不存在数据库邮件配置文件,将通过一个对话框提示用户创建配置文件,同时还会打开数据库邮件配置向导。

在“从 <实例名> 发送测试电子邮件”对话框中,从“数据库邮件配置文件”框中选择要测试的配置文件。

在“收件人”框中,键入测试电子邮件收件人的电子邮件名称。

在“主题”框中,键入测试电子邮件的主题行。更改默认主题,以便更好地标识电子邮件以进行故障排除。

在“正文”框中,键入测试电子邮件的正文。更改默认主题,以便更好地标识电子邮件以进行故障排除。

单击“发送测试电子邮件”,将测试电子邮件发送到数据库邮件队列。

发送测试电子邮件将打开“数据库邮件测试电子邮件”对话框。请记下“发送电子邮件”框中显示的数字。这是测试电子邮件的 mailitem_id。单击“确定”。

OK,我们到这里已经可以发送邮件。但是多是手动的。比较的麻烦。下面我讲下用存储过程来发送。

实现实时(每隔一分钟检测一次,这个作业功能里可以设置)统计一个表的记录数,如果当天超过一定数量,(比如每天上限1W条符合条件的记录数)就发送邮件报警的作业脚本。我们先做一个这样的作业完成我们的自动发送工作。至于新建作业,我就不多说了。网上有好多这样的文章。

现在我们在作业脚本上面编写代码:
use vat   --自己的业务数据库
declare @cnt int
select  @cnt=count( *)  from  table where reqdate>CONVERT (char(10), getdate(), 120)  
if @cnt>10000    --发送条件。具体的业务逻辑自己可以处理。

begin
--以下是使用MSSQL2005的邮件数据库功能,按微软的提示是只有2005会有这个功能
use msdb
EXEC sp_send_dbmail  --调用SQL2005的邮件发送的存储过程。
@profile_name = 'test',  --就是在步骤2中的配置文件名。
--调用发送邮件的存储过程,登录帐号必须有msdb的datamail权限
@recipients = 'google@google.com',--用来接受邮件的地址
@subject = '邮件测试',
@body = '邮件测试成功!'
end

参考:
http://msdn2.microsoft.com/zh-cn/library/ms189505.aspx
http://msdn2.microsoft.com/zh-cn/library/ms188663.aspx

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/shaily/archive/2009/07/06/4325409.aspx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值