1

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

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

它给了我以下错误:

消息 15281,级别 16,状态 1,过程 sp_send_dbmail,第 0 行
SQL Server 阻止访问组件“数据库邮件 XPs”的过程“dbo.sp_send_dbmail”,因为该组件作为该服务器安全配置的一部分被关闭。系统管理员可以使用 sp_configure 启用“数据库邮件 XP”。有关启用“数据库邮件 XP”的详细信息,请参阅 SQL Server 联机丛书中的“表面区域配置”。

有没有其他方法可以做到这一点?

4

1 回答 1

4

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

我为策略不启用邮件的服务器使用的一种解决方法是让存储过程调用一个运行查询并发送电子邮件的 SSIS 包。这完全绕过了数据库邮件,并且 SSIS 包自己连接到 SMTP 服务器。

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

希望这可以帮助。

皮特

于 2012-09-24T06:50:28.900 回答