日期:2014-05-17  浏览次数:20699 次

如何发送数据库邮件
我把数据库邮件配置完了,但是我不知道如何把我这个通话异常的报警发送到我自己的邮箱里,还要发送2个附件。求指教!
------解决方案--------------------
http://bbs.csdn.net/topics/390452569
------解决方案--------------------

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 = 'ddd@ddd.com',--用来接受邮件的地址
@subject = '邮件测试',
@body = '邮件测试成功!' 
end

供参考!