0
votes

I need to find out which of our Crystal Reports users are actually running, so we can get rid of those that are no longer being used. I can do some kind of query of the latest jobs run on the SQL server as described here:

How to get the last run job details in SQL

However I'm not sure how I could tie that back to the actual reports. I've tried opening a Crystal Report in Crystal Reports 2008 while running a trace on the SQL server using SQL Profiler, however I don't see any database calls in the tracethat would allow me to determine the name of the report being run.

How could I find out which Crystal Reports are actually in use?

1
How are these reports deployed?Ryan
Ryan, my understanding is that the reports are typically being run via a billing system (called Elite3E), that can consume Crystal Reports. Now you've asked the question, I'll check the IIS logs on the billing system server. Any other ideas are welcome though! ThanksChris Halcrow
Came across this, that suggests that you can check the appropriate IIS log file (e.g. C:\WINDOWS\system32\LogFiles\W3SVC1) for the word ReportName - next to that there is a report file name. I'm not completely clear how IIS fits in with Crystal Reports... forumtopics.com/busobj/viewtopic.php?p=668291Chris Halcrow
Is there a way to get the SQL statement from the job details?craig

1 Answers

1
votes

I usually embed a unique identifier (the report's name or ID) in either a sql-expression field or the command's query.

If the DBA finds an issue with a given query (e.g. non-performant), this approach easily identifies the source.

SQL-expression:

//{%report_name}
(
  'Daily Obstetrics Review [OB003]'
)

In the command:

SELECT  'Daily Obstetrics Review [OB003]' AS REPORT_NAME
        ...

FROM    ...