【问题标题】:Why SSRS reports (Microsoft Dynamics CRM 2015) takes longer for particular users为什么 SSRS 报告 (Microsoft Dynamics CRM 2015) 对特定用户需要更长的时间
【发布时间】:2016-02-26 08:59:58
【问题描述】:

我们在 Microsoft Dynamics CRM 2015 中有一些 SSRS 报告。 当我运行此报告时,需要 5 秒钟才能得到结果。当另一个 crm 用户为同一实体运行相同的报告时,需要 40 秒。另一个具有相同安全角色的用户只用了 5 秒(用户之间的唯一区别,它们位于不同的业务部门)。

我们无法理解,为什么有些用户需要这么长时间。但是,这应该是一个原因,因为它总是如此。

我找到了,这个链接:

https://dba.stackexchange.com/questions/18325/why-do-ssrs-reports-run-longer-for-a-particular-user

似乎是同样的问题?但我们不明白,如何解决。

有人有什么想法吗?

谢谢!

【问题讨论】:

  • 您和用户之间是否存在基础架构差异?例如。不同的网络?
  • 不,一切都一样。如果我从我的计算机上用这个用户登录,对我来说也很慢,而从我的计算机上用我的用户登录,它很快。这不合逻辑..
  • SSRS 报告本身运行缓慢还是底层查询运行缓慢?如果这是在本地,您可以分析 SQL 服务器以捕获查询性能。

标签: reporting-services dynamics-crm-2015


【解决方案1】:

Microsoft Dynamics CRM 报告使用 FetchXML 或 CRM 过滤视图。这两个都考虑了 Microsoft CRM 用户所属的安全角色。如果一个用户是具有系统管理员级别访问权限的角色的成员,而另一个用户是具有更有限的用户级别或业务部门级别访问权限的成员或角色,则具有系统管理员角色的用户通常能够运行CRM SSRS 报告比具有业务部门级别访问权限的用户更快。这是因为如果 CRM 用户具有管理员或组织访问权限,则 CRM 平台生成的基础 SQL 查询可以消除一些 WHERE 子句条件,这些条件需要限制为具有更多限制的安全角色的用户返回的数据访问。

我在您的问题中看到您的用户具有相同的 Microsoft Dynamics CRM 安全角色,但他们位于不同的业务部门。我怀疑其中一个业务单位的记录量可能比另一个业务单位大得多,这也是导致本报告表现差异的原因。如果您在运行报表时捕获 SQL 跟踪,您应该能够看到报表核心部分中涉及的实际查询,并且可以在 SQL Server Management Studio 中运行这些查询,然后显示生成的查询计划。请注意,如果 SQL 跟踪中包含 Reads 列,您可能会看到报告性能较差的用户的读取次数要多得多。

【讨论】:

    猜你喜欢
    • 2013-11-05
    • 2015-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多