【发布时间】:2017-02-11 02:31:40
【问题描述】:
我们有一个 Windows Server 2008 R2 Service Pack 1 和 SQL Server 2008 R2(Microsoft SQL Server 标准版(64 位),版本 10.50.4042.0),用于在 SSRS 中创建计划报告。不久前服务器重新启动后,报表服务器服务没有启动,当我注意到几天后,我启动了该服务。然后它开始不断地循环遍历所有报告,就好像服务器不知道它已经完成了那个报告。
当我查看表 [ReportServer].[dbo].[ExecutionLogStorage] 时,我可以看到新报告的创建速度与前一个报告准备就绪一样快。它看起来循环遍历所有报告。
我在 Windows 应用程序日志中发现了两个可能与问题有关的错误。
无法卸载应用程序域 DefaultDomain。发生以下异常:卸载应用程序域时出错。 (HRESULT 异常:0x80131015)。
进程名称:ReportingServicesService 进程号:4308 无法跟踪事件:System.AppDomainUnloadedException:尝试访问已卸载的 AppDomain。
我真的不明白该怎么做。服务器已经运行了好几年,完成预定的工作没有任何问题。我已经重新启动了 SQL Server 代理、Reporting Services 以及整个服务器,但没有任何区别。
感谢您的帮助。
拉格
【问题讨论】:
-
“不断循环遍历所有报告”是什么意思?您在哪里看到这种情况发生?在日志中? “不断创建新报告”是什么意思?
-
我猜,但听起来您最终在队列中出现了一堆计划的报告事件,这些事件正在追赶,因为服务现在正在运行。这是一个猜测,因为我运行的 SSRS 实例会在启动时自动启动,所以我之前没有亲眼见过。另一种猜测是,这种情况很快就会消退,如果还没有的话。
-
感谢您的 cmets。 @Nick.McDermaid - 通过循环,我的意思是我有大约 30 份报告。它们计划每四个小时发送一次到每天一次。现在所有 30 份报告都一个接一个地发送,中间没有任何时间间隔。当发送第 30 号报告时,它会再次从第 1 号报告开始,以此类推,无限循环。我在我的“报告收件箱”中注意到了它,其中充斥着这些报告的副本。我有一些报告,其中向我发送了抄送。然后我可以在 ExecutionLogStorage 表中找到它。
-
我想说是SSRS数据库中的Event表,但不能100%确定。
-
@R.Richards,看起来可能是队列。你知道我在哪里可以找到队列吗?我在 Windows 日志中看到了这一点: >计划、事件和订阅处理可能会延迟,因为处理队列达到了最大项目计数 = 4。当前正在处理的项目:#0,Microsoft.ReportingServices.Library.NotificationQueueItem #1,Microsoft。 ReportingServices.Library.NotificationQueueItem #2,Microsoft.ReportingServices.Library.NotificationQueueItem #3,Microsoft.ReportingServices.Library.NotificationQueueItem。”但最大项目数 = 4,所以看起来很奇怪
标签: sql-server reporting-services sql-server-2008-r2 ssrs-2008-r2