Wednesday, March 7, 2012

How to know which report is running

Hi All,

Is there any way or tool to monitor Report Server so we could see which report is currently running?

And also can we alert/warn user about the processing time of the report?

Thanks and Regards,

Uzzi

You could setup a Report that queried a ReportExecutionLog table that would tell you what reports are running.

The table could be populated by inserting sql statements at the start and end of each report's stored procedure.

SQL Profiler and/or Performance monitor could also be used. There may be an entry in the rs log files, though I think that these are populated after report has completed execution.

For the warning message, other than putting it in the report description or writing a custom report portal there doesn't appear to be any way to do this.

http://ssw.com.au/ssw/Standards/BetterSoftwareSuggestions/ReportingServices.aspx

cheers,

Andrew

|||

Thanks Andrew for your reply. I guess I have to write my own Report Monitor tool to make it looks nicer :)

By the way, by looking at the log, can we kill or terminate a report which currently running?

Cheers,

Uzzi

|||

Depending on the stage of the report processing, it could be possible to kill the report by using the KILL command against the SPID that the report stored procedure is running under in SQL Server.

|||

Hi Andrew,

Thanks for your reply.

I want to be able to terminate the report while it's running (generating stage).

If we use stored procedure and suppose we can use KILL command, how do we get the SPID for that stored procedure? I think you might refer to one of the system tables. Is that right?

And if the report is not based on stored procedure, may be based on SSIS or Report Model or XML/external file. How do we terminate it?

Cheers,

UT

|||

This may work, though I'm not sure that it kills execution, only jobs.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/RSAMPLES/htm/rss_sampleapps_v1_9psy.asp

|||

Hi Andrew,

Thanks for your reply. Again you just gave me a very good idea.

I'll see what I can do with that.

BTW, can contact you outside this forum?

Cheers,

Uzzi

|||Sure... asears (at) rogers.com|||

You can check the ExecutionLog table to find history of reports which have been run. However, this table does not get populated until the reporting completed execution. The RunningJobs table shows reports which are currently executing. You will need to join this reportid from this table to the itemid in the catalog table to get the actual report name.

No comments:

Post a Comment