也张贴在堆栈溢出。任何反馈都会非常感谢。
我需要一个SQL作业来发送多封电子邮件,我遇到了这个错误,我无法找到任何解决方案。当我用这种方式发送电子邮件时,我每次测试都会成功。
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'AzureManagedInstance_dbmail_profile',
@recipients = '*Valid Email Address*',
@body = 'test',
@subject = 'Testing';当我偶尔向电子邮件中添加一个查询时,任务就会失败。
我已经提取了一个片段并简化了复制该问题的SELECT查询。
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'AzureManagedInstance_dbmail_profile',
@recipients = '*Valid Email Address*',
@body = 'test',
@query =
'
SELECT GETDATE()
',
@subject = 'Testing';当我运行这个程序时,它成功地向我发送了一封带有日期的电子邮件,如果我再次运行代码,我会得到通用错误,但并不总是这样。
未能用错误号-2147467259初始化sqlcmd库。
我使用进行了一些挖掘,发现了以下错误消息
连接已被删除,因为打开它的主体随后假定了一个新的安全上下文,然后尝试在其模拟的安全上下文下重置连接。不支持此方案。请参阅联机丛书中的“模拟概述”。
我目前正在使用SA帐户,但一开始使用最低的可行特权。
我试着在通用的电子邮件配置文件下运行这个工作,结果是一样的。
运行此代码的任务将成功并失败,没有明显的原因,我可以找到。作业运行成功与否,似乎也没有一个模式。
有人遇到这个问题并设法解决了吗?或者有人能给我指明解决这个问题的方向?
发布于 2021-10-04 09:14:51
尝试将@query_result_header设置为0,将@query_no_truncate设置为1。
@query_result_header = 1
@query_no_truncate = 0query_result_header指定查询结果是否包括列标题。
´query_result_header´值为“位”类型。当值为1时,查询结果包含列标题。当值为0时,查询结果不包括列标题。此参数默认为1(仅在指定@query时才适用)。
https://serverfault.com/questions/1076826
复制相似问题