So I'm trying to troubleshoot a particular SSRS RDL Report that literally takes forever to run (mostly because it has a mile of SQL to run).

My question is: Is there any way to retrieve the execution messages from a Dataset? (i.e. 15 row(s) affected).

My reasoning is that executing the SQL directly with static parameters tends to be much faster than using the RDL.

Note I'm not using the pagination thing that tries to keep all of the rows on one page, nor is the ending dataset all that large (a little less than 1500 rows), it's just the processing that's odd.

Ideally I just want the messages stream returned as a string to display as a tooltip.

Clarification: I'm primarily doing this to compare script portion performance between sections of code. Essentially, someone merged a bunch of stored procs into one, and it is my job now to figure out why it's suddenly taking 20x longer to run, but only when called on SSRS.

I was thinking of using a Global Temp table to store "log" entries, but I have no idea how to control which datasets get executed in which order for rendering, so I haven't attempted that; though it seems almost like the most likely to work based on info below/

1 Answer 1


Removing what I had previously answered, since it was way off. Based on your comment regarding PRINT statements and getting the rows affected messages...

The rows affected message is something SSMS returns, you would generally not see that with datasets in SSRS that I know of.

I did some testing with PRINT statements and in SSDT-BI for SQL Server 2012 the statement is ignored and not returned in my case. As well, there are only so many places that you can actually put a tooltip so you might need to expand a bit more on how and where you want to use this information.

With regards to your specific report if you are having issues with a report rendering only 1500 rows there is no real way for us to assist in that unless you share it more about it, or the actual RDL file.

  • I was more looking for the actual text sent from the server. For example, if I put a PRINT 'Here is my text' in the query, I want to get the string "Here is my text". Jan 8, 2015 at 23:54
  • You would likely get inconsistencies using print statements. I think they would return as rows in the results somehow. You might check this question on SO.
    – user507
    Jan 9, 2015 at 0:31
  • Interesting. If the output is merged into the result set I wonder how that appears? The poster never really explained his results other than "it got more rows returned." Jan 9, 2015 at 16:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.