我有一个从我的数据库中提取数据并使用 MSDB.DBO.sp_send_dbmail 发送电子邮件的程序。当我使用“EXEC myprocedure”时,该过程本身运行顺利。但是当我为该过程设置作业时,作业失败并出现以下错误
'错误格式化查询,可能是无效参数 [SQLState 42000](错误 22050)。步骤失败'
TSQL 语句“EXEC myprocedure”的工作有一个步骤,使用存储我的过程的数据库。有谁知道可能导致此错误的原因?
更新
我已经缩小了问题的范围。这与我使用的 Exchange 服务器有关。我在数据库邮件的帐户配置向导下使用域地址(即 mail.mycompany.com)作为“服务器名称”。我无法使用此域地址向列表服务器和外部用户发送电子邮件。我与我们的 Exchange 人员交谈,他建议使用其中一台邮件服务器的实际 IP 地址(即 10.123.53.53)。这解决了 listservs 和外部用户的问题,但是现在当我使用作业运行我的过程时,我无法发送电子邮件(当我手动运行它时,过程本身可以正确执行)。有谁知道我需要更改 Exchange 服务器上的哪些标准来解决此问题?