in my report i have::
<CommandText>SELECT
column1,
column2,
'poop'
from mytable
</CommandText>
i am using sql server profiler to see exactly what statement is being set.
i have set only two filters:
- databaseName
yet after running the report, no statement gets intercepted.
i suspect that because i am a beginner at SSRS, i am missing something crucial here.
for what reason would commandtext not be executed at all?
i did follow this question, to make sure that i am using sql profiler correctly, and indeed, i am: https://stackoverflow.com/questions/9107383/sql-server-profiler-capture-calls-to-your-databases-stored-procs-during-ssrs
another bit of important information is although the chart shows no data:
i actually am indeed showing data when i run the commandtext from ssms!
Best Answer
Based on past interactions, I'm pretty sure that you're at least on SQL Server 2008R2. You could try filtering on the output of an Extended Event session. Here's a basic one to get you started.
You can start it like this:
Run your query a few times and then stop the event session:
Then you can query it like this:
You can capture more data, you can choose what you'd like from here:
So if you wanted to capture login information, you'd modify your
ACTION
s fromto
I'd actually recommend against filtering on the query text because it's expensive. Instead, I'd try to find the correct username. If you don't think this will work, then I'd filter based on the query text of the result XML file. In fact, only in SQL Server 2012 can you filter on the statement text anyway (it's called a predicate).
If you wanted to perhaps capture data from a specific username you'd add
WHERE
to eachEVENT
that you'd like to filter.