我正在尝试使用带有附件的SQL Server的sp_send_dbmail
存储过程发送电子邮件,
我的帐户没有sysadmin
特权,当以普通SQL Server用户身份发送附件时,出现此错误
无法模拟客户端连接安全上下文。
附加文件需要集成的客户端登录名
有没有使用sysadmin
特权发送带有附件的SQL Server电子邮件的方法?
最佳答案
好吧,如果您已经看过MSDN documentation for sp_send_dbmail,它说:
数据库邮件使用当前用户的Microsoft Windows安全上下文来控制对文件的访问。因此,通过SQL Server身份验证进行身份验证的用户无法使用@file_attachments 附加文件。 Windows不允许SQL Server从一台远程计算机向另一台远程计算机提供凭据。因此,在从运行SQL Server的计算机以外的计算机上运行命令的情况下,数据库邮件可能无法附加网络共享中的文件。
因此很显然,您必须使用 Windows身份验证(连接字符串中带有Integrated Security=SSPI;
)连接到SQL Server,才能将文件附加到电子邮件。