3

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

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

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

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

4

2 回答 2

2

好吧,如果您查看 sp_send_dbmail 的 MSDN 文档,它会说:

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

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

于 2015-02-06T07:38:42.707 回答
-1

这样问题就解决了,你只需要给sql用户提供sysadmin权限,
命令:sp_addsrvrolemember 'User', 'sysadmin'

于 2017-12-26T09:27:14.387 回答