我们目前正在使用SQL Server Reporting Services。我们经常(每天(在一天/晚上的不同时间遇到大量订阅报告失败的情况。有时几个相同的报告会失败。故障是间歇性的,没有表现出任何特定的模式。当我们重新安排报告几乎立即运行时,有时我们会收到后续的失败,有时报告会成功运行。
状态为:发送邮件失败:出现一个或多个错误。邮件将不会重新发送
我们在这里打开了LOG文件->C:\Program Files\Microsoft SQL Server\MSSQL.2\Reporting Services\LogFiles查找文件名:ReportServerService.LOG*
中的每个故障都会显示以下错误消息
错误:发送电子邮件时出错。异常:System.AggregateException:出现一个或多个错误--->System.Net.Mail.Smtp异常:服务器违反了协议服务器响应为:位于System.Net.Mail.SendMailAsyncResult.End(IAsyncResult结果(位于System.Net.Mail.SmtpClient.SendMailCallback(IAsyncResult结果(---内部异常堆栈跟踪结束---在System.Threading.Tasks.Task.Wait(Int32毫秒超时,CancellationToken取消令牌(位于System.Threading.Tasks.Task.Wait(TimeSpan超时(位于Microsoft.ReportingServices.EmailDeliveryProvider.EmailProvider.Drive(通知通知(--->(内部异常#0(System.Net.Mail.SmtpException:服务器提交了协议冲突服务器响应为:位于System.Net.Mail.SendMailAsyncResult.End(IAsyncResult结果(在System.Net.Mail.SmtpClient.SendMailCallback(IAsyncResult结果(<---.附加信息:SmtpException状态代码:常规故障
不幸的是,该错误非常模糊,极难排除。由于这个持续存在的问题,我们每天必须重新运行大约20份报告。我们已经对我们的报告和SMTP服务器配置进行了广泛的研究和分析,但仍然无法解决这个恼人的问题。如果有人经历过这个问题和/或能够就如何永久解决它提供一些见解,请尽快告诉我。
谢谢。
显然晚了,但这可能是由于微软将所有内容强制升级到TLS 1.2并降级到1.0修复方法是将以下数据字添加到注册表中,这样它就不会尝试TLS 1.0
[HKEY_LOCAL_MACHINESOFTWAREMicrosoft.NETFrameworkv2.0.50727]
"SystemDefaultTlsVersions" = dword:00000001
"SchUseStrongCrypto" = dword:00000001
[HKEY_LOCAL_MACHINESOFTWAREMicrosoft.NETFrameworkv4.0.30319]
"SystemDefaultTlsVersions" = dword:00000001
"SchUseStrongCrypto" = dword:00000001