March 20, 2011 at 10:45 pm
I have a report with 2 parameters( from date & to date ) . When I am trying to see the report in the report viewer, it takes too much time to load it.
I tested the stored procedure manually by passing the 2 parameters. But the procedure is executing fine and it is giving the results in a fraction of seconds. But when i execute this report in the Reporting services, it is taking too much time and saying that requested time out.
If anyone faced this problem before, help me out from this problem.
Srinadh.Ramineni,
+91-9866596677
March 21, 2011 at 4:46 am
Try this, go to run type inetmgr u can see IIS displayed and there select the project in the web sites and right click you can see properties in the properties there is a tab called performance in that unselect the first service or make it 0. by default it is 20 mins. Here wat it does is it will chk for all services and with in the default time if all the services are running then the report will get generated or you will get a message like timeout.
thanks
Vasu
March 21, 2011 at 4:53 am
What version of SSRS are you running? Are you returning any sort of TEXT or large BINARY fields?
Does the report only run the one query (procedure)?
March 22, 2011 at 1:08 am
hi..
i'm also having the same problem ..
if the issue is solve please
tell me.. the solution..
i'm using RS 2008 enterprice edition..
help me...
March 22, 2011 at 7:09 am
A common problem with RS using stored procedures and parameters is the impact of Parameter Sniffing. So much so, that when I write a SP that I am going to use in RS I always write it with parameter sniffing in mind.
Alter your stored procedure. Declare variables local to the SP, in your case something like
DECLARE @Start DATETIME
DECLARE @End DATETIME
Then set the value for your local variables equal to the input variables
SET @Start = @ParameterInputStart
SET @End = @ParameterInputEnd
Then alter the rest of your stored procedure to use the local variables instead of the input variables.
WHERE TableDate BETWEEN @Start AND @End
Instead of
WHERE TableDate BETWEEN @ParameterInputStart AND @ParameterInputEnd
If that doesn't do it then you need to look for other issues. A good place to start is the view in your RS database: dboExecutionLog2. Or the ExecutionLogStorage table. Both have columns for TimeDataRetrieval, TimeProcessing, TimeRendering that can give you hints on where things are slowing down.
Hope this helps. Good luck.
March 24, 2011 at 4:11 am
Is it possible you've got the parameters set to TEXT or DATE, and then used a different parameter type (NVARCHAR OR DATETIME) when you're running it in SSMS? I've seen that affect execution times.
If not, then it's likely what Daniel said. I don't think I've run across the same parameter sniffing issue though, it's almost always a query optimisation issue like above with converting between types.
Viewing 6 posts - 1 through 5 (of 5 total)
You must be logged in to reply to this topic. Login to reply