我正在尝试使用我已授予凭据的 SQL 身份验证帐户发送带有附件的电子邮件。
存储的凭据中使用的登录名是有权从共享中读取的域帐户。
EXEC msdb.dbo.sp_send_dbmail
@recipients = '[email protected]',
@profile_name = 'Alarms',
@subject = 'Test with Attachment',
@body = '*** Alarms ***' ,
@file_attachments = '\\Servername\Share\Images\TestImage.png'
但是当我使用 SQL 登录时,出现以下错误:
消息 22051,级别 16,状态 1,第 26 行无法模拟客户端连接安全上下文。附加文件需要集成的客户端登录
我错过了什么?我如何测试凭据是否已正确应用?这仅适用于本地共享吗?
编辑:我授予我的 SQL 登录 Sysadmin 权限,它现在可以与本地共享和远程共享一起使用。那么系统管理员有什么特权可以让它工作呢?
我设法最终在我的开发环境中实现了这一点。
最终结果是我有一个非系统管理员用户可以发送带有从远程服务器上的共享中获取的附件的电子邮件。
我认为代理帐户和凭据可能会重叠,并且都不是必需的。我已经尝试了很多东西,我不再确定完成这项工作所需的最低限度。(这让我很困扰)
由于设置它的复杂性,启用可能被视为安全风险的功能,我将支持所有这些,而是将此应用程序功能分离出来并为其提供自己的域帐户。