2

我们遇到了http://social.msdn.microsoft.com/Forums/sqlserver/en-US/2eeab6cc-a0b9-4712-aae5-0f55ba1e643f/ssrs2k8r2-error-deviceinfo-name-already-exists中描述的问题-参数名称-设备信息名称

Microsoft 的建议是将内部 .net IIS 垃圾收集过程的清理任务增加到 48 小时。

OP 提出了一个更长期的解决方法,我们将考虑,但在此期间,任何人都可以建议如何去做微软的建议吗?

4

1 回答 1

4

我怀疑您已经知道其中的一些,但无论如何我都将其包括在内以尝试更完整。

在您链接到的线程中,听起来原始海报可能会将垃圾收集(释放不再需要分配的 CLR 内存)与应用程序域回收(重新启动整个 CLR 应用程序域)混淆。

回收由 SSRS 设置控制RecycleTime,默认为 12 小时,而垃圾收集会连续运行以及应用程序编码为 call 时运行GC.Collect()

我所知道的与 GC 相关的唯一 SSRS 设置是ProcessTimeoutGcExtension,如果它在 GC 期间无响应超过ProcessTimeoutGcExtension几秒钟,它会导致进程崩溃转储并停止。SSRS 2008 R2 的 Reporting Services 服务默认设置为在失败时自动重新启动,因此如果由于ProcessTimeoutGcExtension.

默认情况下,这两个设置都位于 Reporting Services 配置文件中C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer\rsreportserver.config

线程中的错误消息似乎与垃圾收集或回收无关,所以我不确定这是否真的有助于解决原始问题。

顺便说一句,从 SQL Server 2008 开始,SSRS 不再使用 IIS,尽管它使用与 IIS 相同的驱动程序 (http.sys) 来管理连接。

于 2013-08-25T10:48:14.070 回答