【发布时间】:2014-12-16 22:49:29
【问题描述】:
我们有一个使用 SP_Send_DBMail 的函数。拥有 DatabaseMailUserRole 的用户可以发送消息,但只要他从网络共享附加文件,就会收到以下错误:
MSG 22051,第 16 级,状态 1,第 0 行 无法打开附件文件“\....”。访问被拒绝。
他对网络共享具有读/写权限。 SQLAgent 帐户已对网络共享进行读/写。
应用程序可以正常发送附件,但在遍历代码或从服务器时不能。
如果我授予他系统管理员权限(仅用于测试),他可以发送附件。
我在这里错过了什么?
【问题讨论】:
-
他是从远程计算机上运行它吗?来自联机丛书:“Windows 不允许 SQL Server 从远程计算机向另一台远程计算机提供凭据。因此,如果从计算机以外的计算机运行命令,则数据库邮件可能无法从网络共享附加文件。运行 SQL Server 的计算机。”
-
他是通过 SSMS 远程连接的,是的,但我也是,而且我可以作为系统管理员进行操作。当被授予 SysAdmin 角色时,他也可以。
-
尝试将共享资源作为本地驱动器映射到安装 SQL Server 的服务器。
标签: sql email-attachments database-mail