gpt4 book ai didi

sql-server - Microsoft SQL 代理作业中的 sp_send_dbmail 错误

转载 作者:行者123 更新时间:2023-12-03 00:35:55 27 4
gpt4 key购买 nike

我尝试使用 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] 下运行。除了将其添加为 msdb 中 DatabaseMailUserRole 的成员之外,我还在 MyDB 数据库中授予了该用户 db_owner 权限。还是没有运气。如果我删除 @query 和 @execute_query_database 参数,它将发送一封“测试”电子邮件。但是,我需要附加查询结果。

感谢任何帮助,谢谢。

最佳答案

我过去在 AD 方面遇到过一些奇怪的错误。我建议检查您运行此程序的帐户是否具有在 AD 中可读的属性。最快的方法是运行

exec xp_logininfo 'MyDomain\sqlagent'

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

关于sql-server - Microsoft SQL 代理作业中的 sp_send_dbmail 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12962044/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com