Reporting Services Subscription fails but manually running report works - reporting-services

Our company has a huge nasty report that takes about 50-60 minutes to run (it's for a university and lists all sorts of payment information for all students registered in courses). While it has been running each morning at 5am as a subscription, it recently stopped working and displays "An error has occurred during report processing." in the properties window for the subscription.
If I manually run the report from inside Visual Studio it will work every time, but the subscription will now always fail. I had our DBA turn on trace logging and it gave us no helpful information whatsoever. I've also set the subscription to run at different times throughout the day, with no success. The report is supposed to put an Excel file on a file share and it works for the other 5 subscriptions to this report (I have 6 subscriptions, only 1 of the 6 has a parameter set that returns values from a larger dataset). So this means that it has permission to write to the file share. Any ideas?

Could it be trying to write more than 65536 rows to the Excel file? If so it will just fail.
Also you might check the configuration for IIS to see if the report is causing a timeout.

Related

Sudden increase in packages failures executed against Sharepoint/Office 365 from SSIS

Beginning yesterday afternoon (12/9 Central US time) we began seeing a marked increase in SSIS packages execution failures. These packages have been in operation for several months and experienced no failures on 12/8. Initially I brushed it off as temporary, but now it seems as if "none" of them are working. Several of these packages run hourly, with the first failure around 10:30 on 12/9. Between 10:30 and 1500 'most' succeeded, but after 1500 on 12/9 most failed.
I'm testing with a relatively simple dataflow package. I have two sources (SQL and Sharepoint). From the sources, I compare the two and then update the Sharepoint list with any changes that have been made (SQL query is the authoritative record). The Source Sharepoint list is the same list that is being updated. As a further test, I removed all steps except for querying the Sharepoint list and sorting it. The initial query still fails.
Errors are happening inconsistently within the dataflow package. For example since I've been testing this morning, I had one (and only once) that made it through the package to the point it was should have tried to Add, Update or Delete list items. The table comparison resulted in updates to the Sharepoint list. The package failed when attempting to update the records. Most of them (and all recent attempts) are failing when the dataflow queries the Sharepoint list initially. There are only two records on the Sharepoint List and two records on the SQL table.
I'm connecting to Sharepoint using MS Graph. Testing the connection (Connection Manager) within VS 2019 has succeeded every time. I've verified that the secret I'm using is not expired. I created a new secret and am receiving the same error. 'Usually' if I attempt to preview the Sharepoint source that is successful, but not always. Even if it is successful attempting to debug and run the package fails. I'm not seeing any alerts on Microsoft or Azure that would provide any indication that the problem's there, though I feel like something must have changed there.
I have opened a support ticket with CozyRoc and they have directed me to open a ticket with Microsoft. Microsoft's support request workflow is directing me here.
In the production All Execution reports, the error I'm getting back is:
"Data Flow Task:Error: Attempt to read message string for 0xc02090f5 failed with error 0xc02090f2. Make sure all message related files are registered."
Initial research pointed me toward a data typing issue, but I've not changed anything in our Sharepoint, SSIS or SQL environment to have changed the data types.
This appears to be very repeatable so I can try providing more information if needed.
Look likes the answer was to wait. After about 1 week, the issue resolved as quickly as it appeared. I didn't find a way to report my issue directly to Microsoft without adding a support plan. I was in the process of finding alternative methods to address our needs when it resolved 'by itself'.

SSRS randomly gets error for parameter - solution is to rebuild report...then it happens again

I am pretty experienced in SSRS, I have been doing it for quite some time so I know when I see the error:
"An error has occurred during report processing. (rsProcessingAborted)
An attempt was made to set a data set parameter '#SiteId' that is not defined in this data set. (rsUnknownDataSetParameter)"
I know what causes this error and can fix it. However, this error randomly happens every so often. What I end up doing is simply rebuilding the project and redeploying it and all is well for a few days, then suddenly again this same error will pop up again.
I know there is no issue with the parameter as I have a #SiteId parameter as shown:
So when I get an email from a user that "The Report Is Down" I just go to my report and rebuild and republish and the error vanishes without ANY other changes. A few days later when they want to run the report again this same error happens. What is causing this issue to come back over and over. We are running SQL Server 2016 with SSRS. It happens to ANY one of my reports on the report server. Its not a specific project it randomly happens on any project.
EDIT
What I did notice does happen is when a user reports this issue I go to the "Manage" of a report on the report server url. This area is where you find the properties, data sources, and parameters. When I click parameters I see this error:
So obviously something is destroying the parameters - that is where I am confused what is causing that. This is probably why I am getting the error message. So to reiterate a report is published works...suddenly the parameters go missing. User reports "the report no longer works" I rebuild and redeploy the report...it then works again for a day or so maybe more than a day I never investigated how long it takes for it to break again (as these are not urgent reports). Days later user says report is dead again...if I go to the report server using the report server url and click "Manage" and then click "Parameters" for some reason the parameters have disappeared...causing me to yet again redeploy. This happens over and over and over. It never ends...
The short of it is you cannot have the same shared dataset name across different SSRS Projects that are on the same SSRS server.
So within our SSRS "repository" we have several different SSRS projects. Both projects are very specific to certain functionality. What I noticed is everytime I deployed one of these SSRS projects the reports on the other project would stop working.
When the email would come from the user stating Application A's reports werent working I'd go to Application A's SSRS project and redeploy it and it would fix the issue. Days later a different user said Application B's reports weren't working so I would redeploy application B's. Not knowing that when I deployed A's reports B's would break, and vice versa deploying B's broke A's.
Come to find out....both projects had a shared dataset with the SAME NAME (dsEmployees). Same name however these datasets pointed to different sprocs with different parameters. Well when you deploy and look at the back end db the Catalog table only has one entry for dsEmployees. Everytime I redeployed this would overwrite with the other dataset since the names were the same.
Lesson learned across different SSRS projects be careful with the shared dataset name, they must be different. I was able to spot the difference by running the following query:
SELECT
c.Name,
c2.*,
c2.Parameter
FROM
DataSets d
INNER JOIN
[Catalog] c
ON
c.ItemID = d.ItemID
INNER JOIN
[Catalog] c2
ON
c2.ItemID = d.LinkID
WHERE
--one specific report for now
d.ItemID='C3008EF4-E544-48F3-92C1-2222C6148B13'
When the report was stated not to work. Then I would redeploy the report and rerun that sql statement I wrote and dumped the rows to an excel sheet to compare. One of those columns is Parameters and I noticed the parameters were slightly different. Immediately I was onto something and this ended up being it. Thanks to comment posted it helped me relook at this! This has bugged me for years!

SSRS: Report timing out after 2 mins

I'm having issues with one of my reports timing out when certain parameters are passed to it. This seems to happen when the execution of the stored procedure (that builds the dataset for the report) runs over 2 mins.
I have ran the query within SSMS and the query runs and finishes in 2 mins 5 seconds.
I have read up on numerous ways on trying to increase this time out value:
Updating the report on the web portal to run indefinitely.
Updating the remote query timeout for the db instance (set to 600s)
Updating DatabaseQueryTimeout in rsreportserver.config (set to 360s)
Updated Httpruntime, executionTimeout property in web.config (set to 9000s)
Moving back through the chain I have found that the issue persists when running the report directly from the SSRS web portal.
When you inspect the console on the site, I get the following:
Funnily enough if i hit view report again after hitting this error the report is correctly generated. guessing this is because the query data was cached?
Was wondering if anyone has experienced this and would be able to give me guidance on a setting / configuration which would stop the timeout.
The version of SSRS is 2016

SSRS Reports location when being deployed

I'm just helping out while our regular SSRS guy is away and having an issue.
There is currently a very large report that's being generated. The subscription settings for this report is to ftp the report. The Subscription status for the report currently says "Processing delivery...". I assume this to mean that it finished generating and is now trying to send the file to the ftp location. I can see that the file is there in the ftp folder but the size is still 0kb. It has been saying "Processing delivery..." for a long time now.
My question is: Is there a location (folder or sql table) I can check to see if ssrs is actually doing something? I assume it would create temporary file somewhere locally first before sending it on its way.
Check the ExecutionLog views in the ReportServer DB of your SQL Instance. There are three views which show everything from the requested format to start time, complete times, and parameters used. Take a look at the time difference between start and complete for previous runs and compare it to the running time of the current report whose complete time will be null if it is still processing.
For bonus points: setup a SSRS report based on the view and set a subscription for daily email delivery. This saves a TON of time when troubleshooting reports where users can't tell you the parameters they use or the morning reports are empty, etc.
Also, funny as it sounds, you might want to check the free space on the server that the report is output to. With no free space the report will show processing delivery for a long time. If it's FTP and you don't have control of the FTP server, still might be worth the quick phone call.

SSRS Report Subscription emails stopped sending

Our reports in SSRS stopped sending. The last report was sent 2 days ago, and was send successfully, but since then none of the reports are being sent.
If I look at the SSRS web page for each report, there is no error. Simply showing the last run time as 2 days ago, so seems it didn't even try send.
Yesterday we did make some changes. But only moving a database from the Express version, to the regular version. We did not do anything that would affect the SSRS metadata (or at least we don't think we did...)
Where should we start looking to see why the report subscriptions stopped? Is there a process that could have accidentally been disabled? Thank you!
The Report subscriptions are created as jobs for the SQL Agent. You should see a long list of jobs with GUIDs as the names. Make sure that the SQL agent jobs are running. Going through the Steps of the SQL Reporting Services Configuration tool will recreate these jobs if you were to move the Reporting Service installation to another server. (I don't recall which step recreates the subscriptions. Just go through each pane and click "Apply.")
Depending on how you move things, you may need to backup and restore encryption keys, and you can easily end up in a state where two copies of subscription exist and are executed ( on different servers.) But in your case, where you didn't move SSRS, I'd look at the SQL Agent properties on the original server (Express) to see that the SQL agent is enabled and running, and check the history of the SQL Agent jobs, to see if there are any problems.