sp_send_dbmail错误在Microsoft SQL代理作业(sp_send_dbmail

2019-09-24 07:15发布

我试图使用sp_send_dbmail并收到以下错误从计划SQL代理作业发送电子邮件:

消息22050,级别16,状态1,行0错误格式查询,可能是无效的参数消息14661,级别16,状态1,过程sp_send_dbmail,线504查询执行失败:消息15404,级别16,状态19,服务器的MyServer,1号线无法获取有关Windows NT组/用户MYDOMAIN \ SQLAGENT',错误代码0x5的信息。

下面是从作业步骤的代码:

DECLARE @SQL NVARCHAR(400)
SELECT @SQL = 'SELECT COUNT(staff_id) FROM Staff'

EXEC msdb.dbo.sp_send_dbmail
@recipients = 'me@myemail.com',
@subject = 'Email Alert',
@body = 'Test',
@query = @SQL,
@execute_query_database = 'MyDB'

SQL代理在一个域帐户[MYDOMAIN \ SQLAGENT]运行。 我授予了此用户db_owner权限在mydb数据库中除了添加它作为一个MSDB的DatabaseMailUserRole中的一员。 仍然没有运气。 如果我删除@query和@execute_query_database参数它将发送一个“测试”的电子邮件。 不过,我需要从查询连接的结果。

任何帮助表示赞赏,感谢。

Answer 1:

我已经在过去的AD碰到一些奇怪的错误。 我会建议您检查该帐户运行此下有它的属性AD中可读。 要做到这一点,最快捷的方法是运行

exec xp_logininfo 'MyDomain\sqlagent'

并看到,如果你得到同样的错误。 如果你这样做,检查域帐户的安全性[右键单击在Active Directory用户>属性>安全选项卡]和身份验证的用户设置读取权限。



Answer 2:

这为我工作。

“选择YourDatabase.SchemaName.tablename COLUMNNAME”

我在这里找到这个答案。

https://social.msdn.microsoft.com/Forums/sqlserver/en-US/7869b033-80f1-4594-a77e-fb6dce582fb4/error-msg-when-sending-email-using-spsenddbmail?forum=transactsql



文章来源: sp_send_dbmail Error In Microsoft SQL Agent Job