我需要运行小查询(例如:select * from
)并在运行时将结果通过电子邮件发送给我(以附件的形式)。什么是最简单的方法?
这是我需要每月生成的报告
答案 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代理作业。