【问题标题】:sp_send_dbmail fails in SQL Server Agent Jobsp_send_dbmail 在 SQL Server 代理作业中失败
【发布时间】:2014-11-20 05:57:21
【问题描述】:

谁能解释并解决以下问题。谢谢。

我在 Windows Server 2012 上的 SQL Server 2012 中运行它时遇到了这个查询问题。
查询 (@query) 在单独运行时运行良好,但在放入 SQL Server 代理作业时不显示任何结果(见下文)。

@query = N'SELECT p.name AS [Name] FROM sys.server_principals r
INNER JOIN sys.server_role_members m ON r.principal_id = m.role_principal_id
INNER JOIN sys.server_principals p ON p.principal_id = m.member_principal_id
WHERE r.name = "sysadmin";' 

有趣的是,当我在 Windows Server 2008 上运行的 Sql Server 2012 中对其进行测试时,它无论是独立运行还是在 SQL Server 代理作业中都能完美运行!!?

【问题讨论】:

    标签: sql-server-2012 sql-server-agent sql-server-job


    【解决方案1】:

    我找到了原因和解决方法。

    它取决于授予运行 SQL Server 代理的帐户/用户的权限。此帐户必须至少具有 securityadmin 服务器角色才能访问数据库邮件配置文件,否则它会返回错误或根本不发送消息。 要授予它必要的服务器角色,请转到 Security > Logins 以将该帐户添加为新登录,然后授予它 securityadmin 服务器角色。

    希望这对可能遇到与我相同问题的任何人有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-01
      • 2011-11-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多