通过附件的形式以电子邮件方式获取sql查询结果的简便方法

时间:2018-03-09 07:41:09

标签: sql sql-server tsql

我需要运行小查询(例如:select * from)并在运行时将结果通过电子邮件发送给我(以附件的形式)。什么是最简单的方法?

这是我需要每月生成的报告

4 个答案:

答案 0 :(得分:0)

根据您的要求尝试更改以下代码。您需要在服务器上配置SMTP并执行权限。

EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'nationstar University',
@recipients = 'donald@nation.com',
@query = 'select FNAME,LNAME from PED.dbo.TD_EmployeeProfile_FinalV2 where manager_number=100000491' ,
@subject = 'Test email',
@attach_query_result_as_file = 1,
@query_attachment_filename='filename.xls',
@query_result_separator='   ' -- tab

答案 1 :(得分:0)

您可以使用数据库邮件,但它会略有不同,具体取决于您SQL Server的版本。

首先,您必须确保拥有可以使用的SMTP服务器以及通过发件人电子邮件地址中继电子邮件的访问权限。

您可以在此处找到可通过SQL Server Management Studio进行设置的详细教程:https://www.codeproject.com/tips/846204/how-to-send-mail-using-sql-server-part

答案 2 :(得分:0)

或者,如果您在该sql实例上运行了SSRS服务器,则可以使用包含查询结果的简单报告设置每月订阅。

答案 3 :(得分:0)

数据库邮件可能是最简单的解决方案,您已经有了几个关于如何做到这一点的好答案。

如果由于某种原因而无法选择,只要您有可用的SMTP服务器,就可以创建一个带有数据流任务的简单SSIS包来运行查询到文件和发送邮件任务将文件发送给您。可以将程序包计划为SQL代理作业。