我试图使用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参数它将发送一个“测试”的电子邮件。 不过,我需要从查询连接的结果。
任何帮助表示赞赏,感谢。