Sql Server 邮件查询结果

2 email sql-server

我有一个查询,我想定期针对 SQL Server 运行该查询,并将查询结果通过电子邮件发送到分发列表。我不是在寻找任何花哨的东西,只是带有查询文本的纯文本就足以满足我的目的。

有什么可以开箱即用的,还是我需要编写一个应用程序来做到这一点?

squ*_*man 5

您可以使用 SQL Server DB Mail(我认为是 SQL 2005+)轻松完成此操作。在使用它之前,您需要通过 Surface Area Configuration 工具(或系统选项)启用它并在 SQL Server 实例上配置邮件配置文件。

您可以查看 SQL BOL 或这篇 MSDN 文章,其中列出了所有 DB Mail 存储过程并提供了使用它们的附加链接。

启用 DB Mail 并配置邮件配置文件后,通过电子邮件发送查询结果的语法将如下所示:

EXEC msdb.dbo.sp_send_dbmail
    @recipients=N'me@mydomain.com',
    @body='Query Results Are Attached', 
    @subject ='Query Results',
    @profile_name ='MyDBMailProfile',
    @query ='SELECT * FROM mytable', 
    @attach_query_result_as_file = 1,
    @query_attachment_filename ='QueryResults.txt'
Run Code Online (Sandbox Code Playgroud)

在您的语句正常工作后,您可以创建一个 SQL 代理作业来执行它并让它定期运行。