SSRS 阻塞进程

Yas*_*sin 8 performance sql-server ssrs blocking

我们有一个繁忙的 SSRS 报告服务器 (SQL Server 2008 R2),我们看到以下进程之间频繁阻塞:

  • [dbo].[CheckSessionLock]
  • [dbo].[WriteLockSession]

我们知道有些报告的运行速度慢得令人无法接受。我需要知道的是 ReportServer 数据库中的阻塞是否是服务器过载的征兆,或者阻塞是否导致报告运行缓慢。

我倾向于相信这是第一个案例,但无法收集证据明确证明它是这样的。

我已阅读https://connect.microsoft.com/SQLServer/feedback/details/698388/blocking-in-ssrs-reportserver-database 上的线程,其中问题得到了松散承认,但我无法访问引用的链接以解决问题这个问题。

有没有人解决了在 ReportServer 数据库中阻塞的相同问题?

Tom*_*m V 8

不幸的是,您对此无能为力,这种行为是设计使然。当用户会话因报告花费太多时间而超时时,问题就会显现出来。您可以尝试改进报告,或将会话超时配置为比运行时间最长的报告长一点

有关原因和解决方法的解释,请参阅此链接

您可以增加会话超时作为某种解决方法,该脚本记录在文章中。

从文章:

但是,有一种情况 ping 不起作用,那就是在初始报告执行期间。问题是在执行报告时,用户的会话被锁定(因为我们正在填充用户的临时快照)并且来自查看器控件的 keepalive 将被阻止。通常,这不是问题,因为报告执行不应花费很长时间,而且通常会在会话超时到达之前完成。不幸的是,在某些情况下,报告(无论出于何种原因)需要非常长的时间来执行。在这种情况下发生的情况是在执行报告时用户的会话已过期,从而导致各种奇怪的行为。