【问题标题】:SSRS slow then ErrorSSRS 慢然后错误
【发布时间】:2015-05-26 09:29:48
【问题描述】:

我使用 SSRS 报告创建图表报告并在 MS CRM 中使用此报告

我的报表运行时参数部分的关于摘要用户可以选择每天/每月/每年或每季度的报表显示摘要

然后报告在小行时正常工作,但是当我选择每天显示并选择 2014-01-01 和 2015-03-23 之间的日期范围时报告运行时间过长,然后我得到 this error

然后我在 Sql server management studio 中运行 Query 它在 00:00:00 秒运行并返回 1814 行

这是我的查询

DECLARE @paramSdate AS DATE = (SELECT CAST('2014-01-01' AS DATE))
DECLARE @paramNdate AS DATE = (SELECT CAST('2015-03-23' AS DATE))
DECLARE @sdate AS DATE 
    ,@edate AS DATE 
SET @sdate = @paramSdate 
SET @edate = @paramNdate

CREATE TABLE #tmp (x DATE,link INT) 

WHILE @sdate <= @edate 
BEGIN 
    INSERT INTO #tmp VALUES(@sdate,1) 
    SET @sdate = DATEADD(DAY,1,@sdate)  
END 

SELECT  FORMAT(t.x,'dd/MM/yyyy','TH-th') AS [x] 
    ,h.name 
    ,ISNULL(cc.cnt,0) AS [cnt] 
FROM #tmp t 
LEFT JOIN ( 
    SELECT 2 AS [type] , 'New Visit' AS [name] ,1 AS [link] 
    UNION 
    SELECT 3 AS [type] , 'Re-Visit' AS [name] ,1 AS [link] 
    UNION  
    SELECT 4 AS [type] , 'Book' AS [name] ,1 AS [link] 
    UNION  
    SELECT 5 AS [type] , 'Total' AS [name] , 1 AS [link] 
) h ON t.link = h.link 
LEFT JOIN ( 
        SELECT COUNT(*) AS [cnt] 
     ,CAST(v.new_contactdate AS DATE) AS [d]
            ,v.new_type 
        FROM [SCASSET_MSCRM].[dbo].[new_VisitHistory] v with(nolock) 
        WHERE v.new_type IN (2) 
        AND v.new_projectid IN ('CB2115AC-633F-E411-80DD-F01FAFE5E7C0'
,'D42115AC-633F-E411-80DD-F01FAFE5E7C0'
,'DE2115AC-633F-E411-80DD-F01FAFE5E7C0'
,'B92115AC-633F-E411-80DD-F01FAFE5E7C0'
,'032215AC-633F-E411-80DD-F01FAFE5E7C0'
,'EE2115AC-633F-E411-80DD-F01FAFE5E7C0'
,'EF2115AC-633F-E411-80DD-F01FAFE5E7C0'
,'F02115AC-633F-E411-80DD-F01FAFE5E7C0'
,'D32115AC-633F-E411-80DD-F01FAFE5E7C0'
,'BD2115AC-633F-E411-80DD-F01FAFE5E7C0'
,'BA2115AC-633F-E411-80DD-F01FAFE5E7C0'
,'D82115AC-633F-E411-80DD-F01FAFE5E7C0'
,'EB2115AC-633F-E411-80DD-F01FAFE5E7C0') 
        AND CAST(v.new_contactdate AS DATE) BETWEEN @paramSdate AND @paramNdate 
        GROUP BY v.new_type 
     ,CAST(v.new_contactdate AS DATE) 
        UNION 
        SELECT COUNT(*) AS [cnt] 
     ,CAST(v.new_contactdate AS DATE) AS [d]
            ,'3' AS [new_type] 
        FROM [SCASSET_MSCRM].[dbo].[new_VisitHistory] v with(nolock) 
        WHERE v.new_type IN (3,4) 
        AND v.new_projectid IN ('CB2115AC-633F-E411-80DD-F01FAFE5E7C0'
,'D42115AC-633F-E411-80DD-F01FAFE5E7C0'
,'DE2115AC-633F-E411-80DD-F01FAFE5E7C0'
,'B92115AC-633F-E411-80DD-F01FAFE5E7C0'
,'032215AC-633F-E411-80DD-F01FAFE5E7C0'
,'EE2115AC-633F-E411-80DD-F01FAFE5E7C0'
,'EF2115AC-633F-E411-80DD-F01FAFE5E7C0'
,'F02115AC-633F-E411-80DD-F01FAFE5E7C0'
,'D32115AC-633F-E411-80DD-F01FAFE5E7C0'
,'BD2115AC-633F-E411-80DD-F01FAFE5E7C0'
,'BA2115AC-633F-E411-80DD-F01FAFE5E7C0'
,'D82115AC-633F-E411-80DD-F01FAFE5E7C0'
,'EB2115AC-633F-E411-80DD-F01FAFE5E7C0') 
        AND CAST(v.new_contactdate AS DATE) BETWEEN @paramSdate AND @paramNdate 
        GROUP BY v.new_type 
     ,CAST(v.new_contactdate AS DATE) 
        UNION  
        SELECT COUNT(*) AS [cnt] 
     ,CAST(s.new_reservationdate AS DATE) AS [d] 
            ,'4' AS [new_type] 
        FROM [SCAsset_MSCRM].[dbo].[new_salehistory] s with(nolock) 
        WHERE s.new_projectId IN ('CB2115AC-633F-E411-80DD-F01FAFE5E7C0'
,'D42115AC-633F-E411-80DD-F01FAFE5E7C0'
,'DE2115AC-633F-E411-80DD-F01FAFE5E7C0'
,'B92115AC-633F-E411-80DD-F01FAFE5E7C0'
,'032215AC-633F-E411-80DD-F01FAFE5E7C0'
,'EE2115AC-633F-E411-80DD-F01FAFE5E7C0'
,'EF2115AC-633F-E411-80DD-F01FAFE5E7C0'
,'F02115AC-633F-E411-80DD-F01FAFE5E7C0'
,'D32115AC-633F-E411-80DD-F01FAFE5E7C0'
,'BD2115AC-633F-E411-80DD-F01FAFE5E7C0'
,'BA2115AC-633F-E411-80DD-F01FAFE5E7C0'
,'D82115AC-633F-E411-80DD-F01FAFE5E7C0'
,'EB2115AC-633F-E411-80DD-F01FAFE5E7C0') 
        AND CAST(s.new_reservationdate AS DATE) BETWEEN @paramSdate AND @paramNdate 
        GROUP BY 
     CAST(s.new_reservationdate AS DATE) 
        UNION 
        SELECT COUNT(*) AS [cnt] 
     ,CAST(v.new_contactdate AS DATE) AS [d] 
            ,'5' AS [new_type] 
        FROM [SCAsset_MSCRM].[dbo].[new_VisitHistory] v with(nolock) 
        WHERE v.new_projectId IN ('CB2115AC-633F-E411-80DD-F01FAFE5E7C0'
,'D42115AC-633F-E411-80DD-F01FAFE5E7C0'
,'DE2115AC-633F-E411-80DD-F01FAFE5E7C0'
,'B92115AC-633F-E411-80DD-F01FAFE5E7C0'
,'032215AC-633F-E411-80DD-F01FAFE5E7C0'
,'EE2115AC-633F-E411-80DD-F01FAFE5E7C0'
,'EF2115AC-633F-E411-80DD-F01FAFE5E7C0'
,'F02115AC-633F-E411-80DD-F01FAFE5E7C0'
,'D32115AC-633F-E411-80DD-F01FAFE5E7C0'
,'BD2115AC-633F-E411-80DD-F01FAFE5E7C0'
,'BA2115AC-633F-E411-80DD-F01FAFE5E7C0'
,'D82115AC-633F-E411-80DD-F01FAFE5E7C0'
,'EB2115AC-633F-E411-80DD-F01FAFE5E7C0') 
        AND v.new_type IN (2,3,4) 
        AND CAST(v.new_contactdate AS DATE) BETWEEN @paramSdate AND @paramNdate 
        GROUP BY 
 CAST(v.new_contactdate AS DATE) 
) cc ON cc.new_type = h.[type] 
 AND CAST(cc.d AS DATE) = CAST(t.x AS DATE) 
ORDER BY t.x 

OPTION(RECOMPILE) 

DROP TABLE #tmp

这是我的data set and report design

谢谢。

【问题讨论】:

  • 这是土耳其语吗?为什么是投影过滤器?

标签: sql-server reporting-services sql-server-2012 dynamics-crm-2011 ssrs-2012


【解决方案1】:

这可能是由于记录过多以及您的报告和/或数据库超时造成的问题。我相信是这种情况,因为当您将数据集限制为仅几条记录时,报表就会运行。

我会查看此资源以获取解决此问题的更多帮助。what is the default timeout processing option in SSRS Server

【讨论】:

  • 感谢回复 我只创建 .rdl 用于 Microsoft Dynamic CRM 我无法添加此代码,但您确定我收到的错误是因为超时吗?
  • 可能是的。您可以通过在数据库中运行 sql 并查看需要多长时间来检查。
  • 谢谢,我找到了问题所在。我的问题是我在 DataSet2 中的查询需要太长时间。所以,我将只使用 DataSet1 然后在 DataSet1 中修改一些查询
  • 很高兴你把它修好了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多