我有一个已经存在几年的现有SSRS实例。数据DB位于同一个框中,报告总是非常快速地加载。
我将数据DB移到Azure并且渲染时间已经飙升。数据集是在SSMS中在不到一秒的时间内执行的存储过程。此报告也会在BIDS中立即加载。一旦它在SSRS服务器上,它需要30秒。
Azure上的数据:
<EstimatedMemoryUsageKB>
<Pagination>4</Pagination>
<Processing>13</Processing>
</EstimatedMemoryUsageKB>
<DataExtension>
<SQLAZURE>1</SQLAZURE>
</DataExtension>
<Connections>
<Connection>
<ConnectionOpenTime>1</ConnectionOpenTime>
<DataSets>
<DataSet>
<Name>ProjectTasks</Name>
<RowsRead>9</RowsRead>
<TotalTimeDataRetrieval>30034</TotalTimeDataRetrieval>
<QueryPrepareAndExecutionTime>0</QueryPrepareAndExecutionTime>
<ExecuteReaderTime>22</ExecuteReaderTime>
<DataReaderMappingTime>0</DataReaderMappingTime>
<DisposeDataReaderTime>0</DisposeDataReaderTime>
与SSRS在同一服务器上的数据:
<EstimatedMemoryUsageKB>
<Pagination>4</Pagination>
<Processing>12</Processing>
</EstimatedMemoryUsageKB>
<DataExtension>
<SQL>1</SQL>
</DataExtension>
<Connections>
<Connection>
<ConnectionOpenTime>1</ConnectionOpenTime>
<DataSets>
<DataSet>
<Name>ProjectTasks</Name>
<RowsRead>8</RowsRead>
<TotalTimeDataRetrieval>1</TotalTimeDataRetrieval>
<QueryPrepareAndExecutionTime>0</QueryPrepareAndExecutionTime>
<ExecuteReaderTime>1</ExecuteReaderTime>
<DataReaderMappingTime>0</DataReaderMappingTime>
<DisposeDataReaderTime>0</DisposeDataReaderTime>
</DataSet>
我的所有报告都没有发生这种情况,其中数据在Azure上,只有一些。我已经尝试使用RECOMPILE,OPTION OPTIMIZE修改我的存储过程,并将SP的参数分配给内部变量。没有什么能改变TotalTimeDataRetrieval。
答案 0 :(得分:0)
我不确定某些内容是否被错误地缓存或实际原因是什么,但我注意到我的问题报告都有一个存储过程作为数据集的查询类型。我将其更改为文本,问题就消失了。我将其更改回存储过程并且仍然是固定的。
我在问题中的子报告从30秒到450毫秒。整体报告从2.5分钟变为4秒。