[英]SSRS 2008 Report Subscription Emails Randomly Receiving Delivery Extension Loading Errors
我创建了3个报告,并为每个报告设置了每个订阅,每个报告都通过电子邮件发送给收件人列表。
当我查看“我的订阅”时,我看到消息“无法加载此订阅的传递扩展”,有时它甚至表示已成功通过电子邮件发送给收件人。
有些报告会被发送,但随机发送的是哪些报告。
这不是SSRS2008R2,它是SSRS2008
我已确保所有电子邮件地址都不是别名我确保SMTP服务器允许来自报表服务器的中继我确保所有电子邮件地址仍处于活动状态我没有在日志中看到错误。
有任何想法吗?
谢谢,
这个问题已经过时了,但错误消息今天仍然可以在SQL Server 2014中出现,并且在编写错误消息的排名最高的搜索结果时并不是特别有用,它们也不包含任何解释错误的原因将发生不一致。
以下是我要解决此问题的步骤:
1)确认SSRS实例的电子邮件传递已启用(即查看Reporting Services配置管理器的“电子邮件设置”部分。
请注意,如果您具有横向扩展配置,则需要在加入横向扩展配置的每个实例上启用电子邮件传递,即使客户端未访问实例也是如此。 即使您没有设置任何类型的网络级负载平衡,订阅事件的任务也将在横向扩展配置中的实例之间得到平衡。 我不确定平衡如何工作的确切细节,但是blogs.msdn.com上的这篇文章提供了有关如何在SSRS中处理事件的一些细节:
订阅运行时会发生以下几种情况:
SQL Server代理作业将触发并在RS目录的Event表中放置一行,并使用处理订阅所需的设置
RS服务器服务具有有限数量的线程(每个CPU 2个),每隔几秒轮询一次Event表,查找要处理的订阅
当它找到一个事件时,它在Notifications表中放置一行并开始处理订阅,其中包括执行数据驱动的订阅查询(如果存在),处理报告,将其呈现为指定的格式(HTML,PDF,Excel等) ),并将最终结果发送到电子邮件地址或文件共享。 请注意,ExecutionLog表中还会有一行用于报告执行。
2)查看SSRS错误日志(通常位于C:\\Program Files\\Microsoft SQL Server\\MSRS??.<instance name>\\Reporting Services\\LogFiles
)。 如果您正在运行横向扩展配置,则需要在横向扩展配置中的每个实例上执行此操作; 只有未能处理订阅事件的实例才会记录错误。
顺便说一句,如果在订阅触发时针对SSRS数据库运行SQL Server跟踪或扩展事件会话,您应该能够看到哪个SSRS实例正在处理订阅事件并且失败。
3)如果在步骤1和步骤2之后仍然卡住,则在订阅运行时使用Sysinternals的Process Explorer监视文件系统和网络访问可能是值得的。 电子邮件传递扩展DLL似乎是C:\\Program Files\\Microsoft SQL Server\\MSRS??.<instance name>\\Reporting Services\\ReportManager\\Bin\\ReportingServicesEmailDeliveryProvider.dll
,错误消息可能暗示此文件无法'加载。 我相信这个文件在加载时会被复制到RSTempFiles
目录。
如果您正在运行防病毒软件,那么您可能希望在此处遵循Microsoft的指南,以获取特定于SSRS的排除项:
文件和目录排除
流程排除
在我调查这个问题的情况下,它是由横向扩展配置中的DR服务器未配置为电子邮件传递引起的。 DR服务器大约1/3时间处理订阅事件,因此错误是间歇性发生的。 我最初没有看到DR服务器,因为没有客户端访问它。
找到文件rsreportserver.config(报表服务器安装中的文件)注释掉该行:
> <Extension Name="Report Server DocumentLibrary"
> Type="Microsoft.ReportingServices.SharePoint.SharePointDeliveryExtension.DocumentLibraryProvider,ReportingServicesSharePointDeliveryExtension">
> <MaxRetries>3</MaxRetries>
> <SecondsBeforeRetry>900</SecondsBeforeRetry>
> <Configuration>
> <DocumentLibraryConfiguration>
> <ExcludedRenderFormats>
> <RenderingExtension>HTMLOWC</RenderingExtension>
> <RenderingExtension>NULL</RenderingExtension>
> <RenderingExtension>RGDI</RenderingExtension>
> </ExcludedRenderFormats>
> </DocumentLibraryConfiguration>
> </Configuration> </Extension>
将其包装在<!-- -->
。 重新启动/重新启动报告服务器服务。 此错误应该消失并报告任何特定的订阅错误(如果有)。
祝好运。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.