Ada*_*Dev 5 sql-server-2008 security
SQL Server 2008,通过 SQL Server 身份验证连接。
我有一个存储过程在DatabaseA
其调用sp_send_dbmail
在msdb
同一个文件附件的电子邮件。该文件在数据库服务器上,而不是在远程文件共享上。
正在使用的SQL Server的帐户没有系统管理员,但的确属于DatabaseMailUserRole
在msdb
。
发送没有附件的电子邮件是可以的,但是当存在附件时,我收到一个错误:
无法模拟客户端连接安全上下文。附加文件需要集成的客户端登录
有一些关于此的文章/帖子,但有些似乎在说相互矛盾的事情。我一直在研究模拟,并且在 中的存储过程中起作用的一件事是DatabaseA
执行以下操作:
EXECUTE AS LOGIN = 'sa' -- or any account with sysadmin privileges
EXECUTE msdb..sp_send_dbmail ....
REVERT
Run Code Online (Sandbox Code Playgroud)
我没想到这会起作用,因为我想发送附件,您需要使用 Windows 身份验证。但是它确实有效,但这意味着需要授予权限较低的 SQL Server 帐户来模拟 sa(或其他系统管理员帐户)。
在将 DBA 的噩梦释放到野外之前,做我作为开发人员的尽职调查......
我的问题是:允许通过 SQL Server(非系统管理员)进行身份验证的用户在不打开安全漏洞的情况下从本地数据库服务器磁盘发送电子邮件附件的好/安全方法是什么?
更新:
回复:凭据
我创建了一个新的 Windows 登录,通过 SSMS 为该帐户创建凭据,将这些凭据映射到我的有限权限 SQL Server 帐户。我收到错误:
消息 22051,级别 16,状态 1,第 0 行
无法模拟客户端连接安全上下文。
附加文件需要集成的客户端登录
我肯定错过了什么!
归档时间: |
|
查看次数: |
18624 次 |
最近记录: |