我在 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
但没有成功。
我不知道从这里该去哪里。
米奇,我查看了权限,一切看起来都正确。 我还没有“解决”这个问题,但我找到了解决方法。 [database].[dbo].[pr_DailySecurityCheck] 执行的最后一步是查询结果表。我只是将该查询块从过程移至 sp_send_dbmail 中的 @query 变量。现在工作完美。
感谢大家提出建议。