我正在尝试使用带有附件的SQL Server sp_send_dbmail
存储过程发送电子邮件,
我的帐户没有sysadmin
权限,当附件作为普通SQL Server用户发送时,我收到此错误
无法模拟客户端连接安全上下文。 附加文件需要集成的客户端登录
是否有办法在不使用sysadmin
权限的情况下发送带附件的SQL Server电子邮件?
答案 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'