sp_send_dbmail 在执行时失败,但在选择时成功

问题描述 投票:0回答:1

我在 SQL Server 2017 上使用这段代码已有多年,并且它始终运行良好。

EXECUTE msdb.dbo.sp_send_dbmail 
@recipients = 'mymail@myaddress',
@subject = 'DailySecurityCheck',
@query = 'EXECUTE [database].[dbo].[pr_DailySecurityCheck]'

我刚刚迁移到 SQL Server 2019,现在抛出此错误:

无法初始化 sqlcmd 库,错误号为 -2147467259

我可以从 SSMS 成功运行

EXECUTE
语句。

我可以用

@query
语句替换
SELECT
变量,它将成功运行。

我也尝试过添加

@query_result_header = 1
@query_no_truncate = 0
但没有成功。

我不知道从这里该去哪里。

sql-server database-administration sp-send-dbmail
1个回答
0
投票

米奇,我查看了权限,一切看起来都正确。 我还没有“解决”这个问题,但我找到了解决方法。 [database].[dbo].[pr_DailySecurityCheck] 执行的最后一步是查询结果表。我只是将该查询块从过程移至 sp_send_dbmail 中的 @query 变量。现在工作完美。

感谢大家提出建议。

© www.soinside.com 2019 - 2024. All rights reserved.