将Sproc结果发送到SQL Server中的电子邮件

时间:2012-09-17 15:06:11

标签: sql sql-server-2008 tsql sql-server-2008-r2

我正在尝试发送Sproc结果的电子邮件。我试过这样做:

EXEC msdb.dbo.sp_send_dbmail  
    @recipients = 'Testemail@XYZ.com',
    @query = 'EXEC test_email' ,
    @subject = 'Sample Data',
    @attach_query_result_as_file = 1 ;

它给了我以下错误:

  

Msg 15281,Level 16,State 1,Procedure sp_send_dbmail,Line 0
     SQL Server阻止访问组件“Database Mail XPs”的过程“dbo.sp_send_dbmail”,因为此组件已作为此服务器的安全配置的一部分关闭。系统管理员可以使用sp_configure启用“Database Mail XPs”。有关启用“数据库邮件XP”的详细信息,请参阅SQL Server联机丛书中的“表面区域配置”。

还有其他办法吗?

1 个答案:

答案 0 :(得分:3)

没有其他方法可以使用DBMail了。需要启用数据库邮件:     EXEC sp_configure'Database Mail XPs',1 但另外,需要使用适当的配置文件和帐户配置数据库邮件。

我曾经使用过的策略是不启用邮件的服务器是让存储过程调用运行查询并发送电子邮件的SSIS包。这完全绕过了数据库邮件,SSIS包与SMTP服务器建立了自己的连接。

我通常设置的方法是运行sp_startjob来调用服务器代理作业,然后运行SSIS包。

希望这有帮助。

皮特