不使用sysadmin权限发送带附件的SQL Server电子邮件

时间:2015-02-06 06:07:44

标签: sql-server sp-send-dbmail

我正在尝试使用带有附件的SQL Server sp_send_dbmail存储过程发送电子邮件,

我的帐户没有sysadmin权限,当附件作为普通SQL Server用户发送时,我收到此错误

  

无法模拟客户端连接安全上下文。   附加文件需要集成的客户端登录

是否有办法在不使用sysadmin权限的情况下发送带附件的SQL Server电子邮件?

2 个答案:

答案 0 :(得分:2)

好吧,如果您查看了MSDN documentation for sp_send_dbmail,它会说:

  

数据库邮件使用当前用户的Microsoft Windows安全上下文来控制对文件的访问。因此,使用SQL Server身份验证进行身份验证的用户无法使用@file_attachments 附加文件。 Windows不允许SQL Server从远程计算机向另一台远程计算机提供凭据。因此,如果从运行SQL Server的计算机以外的计算机运行该命令,则数据库邮件可能无法从网络共享附加文件。

因此,很明显,您必须使用 Windows身份验证(在连接字符串中使用Integrated Security=SSPI;)连接到SQL Server,以便能够将文件附加到电子邮件

答案 1 :(得分:-1)

这将解决问题,您只需要为sql用户提供sysadmin权限,
命令: sp_addsrvrolemember' User',' sysadmin'