Does SSRS report caching use the cache during the multiple rows that are returned by data driven reports? - reporting-services

I will be implementing a data driven report in SSRS 2019 that will have over 80 "TO" receiving email addresses all as individually returned rows in the subscription's caching dataset.
Background; They are individual rows because if you put all the email addresses in a single "TO", and one email address is undeliverable, report server will try to resend the whole report 3 more times at 15 min intervals. So, the everyone receives the report 3 more times while the failing email address never gets it. I know the report server can be set to not retry failed attempts, but out server administrators are unwilling to do that.
So, my question is: Will the subscription's first "TO" email address, from the caching dataset, cache the report for use by the next 79? Or, will all 80 get generated individually and caching only begin/benefit the subscriptions (or a user) who runs the report later within the caching timeframe?
thanks
Gord

Thanks Alan for reminding me about the ExecutionLog views.
I ran a test data driven subscription to 5 email addresses.
Looks like report server is processing them in batches and once one of the first reports in the first batch is complete, a cached copy is created/available for any further reports to use.
In the table below, the report in the second row completes in 5.299 seconds, after row 4 has started but before row 5 starts... so row 5 uses the cache.
TimeStart
TimeDataRetrieval
Source
RowCount
2023-01-27 08:02:22.463
5625
Live
803
2023-01-27 08:02:22.493
5299
Live
803
2023-01-27 08:02:22.493
6197
Live
803
2023-01-27 08:02:25.573
8853
Live
803
2023-01-27 08:02:43.307
0
Cache
0

Related

SSRS data-driven subscription file share export: error on one export, others work fine

I have a report with a data-driven subscription that exports Excel files to a file share each day, one per region. (Region is a parameter in the report.) The data for the subscription comes from a configuration table that is populated with the list of regions for a given day by another process. That process takes the Region values from the same table/field that the report query uses to match to the subscription region name in its WHERE clause, so the values should be identical.
The process runs fine but the Executions table shows only two executions (with the correct parameters from the config table), and only two of three exports are generated. Subscriptions.LastStatus = 'Done: 3 processed of 3 total; 1 errors.'
The other two exports are generated correctly, so it's not a
permissions issue.
Reports for all three regions export from the
web portal to excel just fine, so it would seem there's nothing
preventing an export for that one region.
There are no differences in the web-portal-exported reports between the 'Central Office' region and
the 'Rocky Mountain' region that I can see (other than the data,
obviously). Both have a space in the name, both have the same number of pages.
I do not have access to the Report Server logs. I have requested permissions to be able to view the logs, but that's going to take a while.
In the interim, can anyone think of anything else I could try or check? Thanks in advance.

Usage of the column "ExecutionId" in the table "[dbo].[ExecutionLog2]"

Can any one of you please help me by providing more details of the column "ExecutionId" in the table "[dbo].[ExecutionLog2]". I thought for each and every report execution from report server it
will create one execution id. However I find one "ExecutionId" has repeated 70 times (Same "ExecutionId") in one of the report server database. So wondering what does it mean/usage of the column "ExecutionId" in the table "[dbo].[ExecutionLog2]"
The internal identifier associated with a request. Requests on the same user sessions share the same execution id.
Sql Server Reporting Services Docs
The ExecutionID field appears to be related to (one or more) executions of a specific report. As long as you are running the same report, the ExecutionId appears not to change, regardless of how many times the report is run, even if the report is run with different parameters and even if the output format is changed (e.g. render on screen, pdf, csv etc.)
As soon as you navigate away from the report, a new ExecutionId will be generated for the next report execution.

ssrs linked reports not updating

I have created a linked report in ssrs. I have made a action from the values in a Pivot matrix to another report which shows just raw data. My Pivot matrix is perfect however when I click on a value for example 9 and takes me to my raw data report I only get back 8 results. My parameters pass through fine.I ran a query in sql server to see that result did not come back in the report and that record was created on a different date than the other 8 that came back which were all created on the same date.
Note some linking works fine if I click on the value of 10 it will bring back 10 results.
The scenario I have is the matrix has a count value of items on a particular day. For example day 1 has 10 assets sold and when I click on that value it is meant to show the 10 assets in another report. Sometimes only less will show. could this be a cache error or a coding error?
Thanks

How SSRS report are generated once subscribed, Serially or Parallel

Suppose we have created only one schedule to generate 100 reports.
Once the schedule is subscribed , how the report will be generated ?
Will all 100 reports generated simultaneously ?
or
Reports will be generated sequentially one by one ?
P.S . I am not talking about multiple subscription.I am talking about reports in only one subscription.
I need a little more clarity, are you talking about one subscription running multiple reports or multiple subscriptions?
This isn't really an answer, but I am 4 points too short to comment yet.
This article has some information. Basically it depends how your RS server is set up. Mine is set pretty low. I never see more than one subscription/report running at a time.
http://msdn.microsoft.com/en-us/library/ms157273.aspx
For my data driven subscriptions I can see the reports run one at a time during testing.
---update--
MaxActiveReqForOneUser value from rsreportserver.config defines number of report running inparallel . default value is 20
P.S. Subscribed reports run in parallel and maximum report running in parallel are 20 by default.

MS reporting services limiting number of rows

I have a report working well where I extract the number of logins per user. Each login takes up one row on the report.
I have date parameters and my DB goes back a year. However it seems the report will only show 40/50 rows despite a report expecting to deliver, say, 250 for the amount of times I logged in.
Is there some setting in reporting services that limits the number of rows delivered. Can't find it anywhere..
Thanks.
The answer to your question: nope, as far as I know there's no real equivalent of SQL's TOP 50 statement in SSRS itself.
Some things that come to mind that may be causing your symptoms / can be investigated:
What happens if you run the query for the dataset in SSMS? Be sure to fill in the exact parameters the report's using (if any).
Run the query as a test from SSRS designer. If you're using Visual Studio: right-click the dataset and hit "Query...", then hit the red exclamation mark and fill in any parameters if needed.
Try putting a CountDistinct call (on your dataset) in a textbox somehwere in the report, by itself.
Check the filtering and grouping on your tablixes, perhaps even by looking at the XML source code for the RDL.
Show the parameters in textboxes (oldskool printf debugging! :D) to make sure they're what you expect them to be when the report's run on the Report Server. If they're not: try deleting the report on the server and re-deploying it.
Have a look at the ExecutionLog2 View in the ReportServer database, specifically the Number of Rows returned.
As mentioned in the comments by Atilla: You may also monitor exact SQL SSRS sends to server using SQL Server Profiler.