SSRS Single Report prompting for user / pass - sql-server

SQL Developer 2019
SSRS 2019
I restored my reporting database, SQL services to a new computer, restored databases, etc. I'm running everything on my localhost.
I have 20 reports I can access from the web SSRS ReportServer URL; only 1 of the 20 is prompting me for a user/pass before running the report.
I created copies of a working report and copies of the broken report with new names to test to see if something was cached. The broken copy is still broken (different name) and the working copy (different name) works.
I managed the reports, compared database sources and credentials between working an broken and they match.
I deleted the broken report, added it net new again, still prompts for the user/pass before opening the report.
Any idea why a single report would be corrupt like this; is there anything I can look at within the RDL?

Related

Is it possible to restrict an SSRS report on Report Manager to one user at a time?

I have an SSRS report published to Report Manager, available to all Domain Users. The report's stored procedure executes a xp_cmdshell which outputs SQL data to an excel file in a shared file location. The issue is the report can't handle being run concurrently - anyone trying to run the report simultaneously with another user gets a blank file, or, worse, a file with missing data. I can't redevelop the solution right now, what I'm hoping to do is restrict the report to one user at a time, either within the SSRS report, via report manager config or the SharePoint link on our intranet (which users access the report by). Everything is on-prem.
I've tried the report config, RM config, our SharePoint developer and Google and none are helping. Thanks.

SSRS report: Preview OK, Deployment OK, but looks in wrong server after release

I've a set of reports in a Visual Studio/SSRS project. We've recently moved the store procedures for the reports to a different server.
The shared data source has been pointed to the new server & db.
A particular report previews ok within Visual Studio, deploys with no errors but when running in Live environment it gives an error "Invalid object name 'CARE.dbo.contact_suppressions'. This is from some embedded sql in report which is fine when previewed & deployed though beforehand so when run in correct environment it works.
It seems to be looking at old server & db still after deployment. If I replace with old server db name in the embedded sql it works but shouldn't be going anywhere near there as the data source points to new server.
Any help would be appreciated. Thanks in advance.

Why would an SSRS report produce different data when run from SQL Server Reporting Services than when run using the Preview tab?

I've got a report running the data I want - from the Preview tab, that is, or when run using F5 in VS 2010. But when I upload the report (.rdl file) to SQL Server Reporting Services, and run the updated report from there, it still shows the old bunch of (restricted) data.
Am I missing a step - does something need to be done other than uploading the .rdl file from the project? It did tell me the DataSource was wrong, but once I specified the right one, it ran without a hitch (except for the missing data).
I made sure that the updated report was truly being used by SQL Server Reporting Services by adding a bogus addition to a label, and sure enough, I do see that when I run the report, so the updated report is getting there.
I also verified that both the design time and runtime reports (same file, but copied to a different location) use the same data source: the SharedDataSource reference in the project, which I see when I select View > Report Data > Data Sources is the same being used In SQL Server Reporting Services, where I set the data source by selecting the yellow right down-arrow on the report name, then "Manage" > "Data Sources" > "A shared data source" > Browse > Home > Data Sources > and selected the shared data source with the same name as the one seen in the project. Finally, I selected OK > Apply in SQL Server Reporting Services, but only a subset of the data is generated.
Why would that be? What can I do to retrieve all the data?
UPDATE
To clarify what happens, in answer to yelxe's comment:
When I delete the previous version of the report in SSRS and upload a "new" one (.rdl file - the new version of the report just deleted), and then click the report link to try to run it, I get, "The report server cannot process the report or shared dataset. The shared data source 'CPSData' for the report server or SharePoint site is not valid. Browse to the server or site and select a shared data source. (rsInvalidDataSourceReference)"
So I click the yellow down-arrow to the right of the report and select Manage.
From there, I select Data Sources > A shared data source > Browse > Home/Data Sources/CPSData ("CPSData" is the same Shared datasource selected in the project) > OK > Apply, and then run the report.
This is where I do that:
It runs, but the data returned to the report is a subset of what I get when I run it from the IDE (VS 2010).
UPDATE 2
As for the data that is there when the report is run from SSRS, it is identical - IOW, the rows that are common to both the superset and the subset of data are identical; it's just that many rows are missing from the subset. And there doesn't appear to be anything "odd" about the data that exists in the superset - it's not 0 or negative or anything special or striking.
UPDATE 3
To reply to Eric's comment in more detail, the report's "Subscriptions", "Cache Refresh Options" and "Report History" pages shows "There are no items to show in this view. Click Help for more information about this page."
The report's Processing Options page shows
...and the report's "Snapshot Options" page shows
UPDATE 4
I noticed that the name of my Data Source was the same name as the name of my primary Dataset (they were both "CPSData"). The dataset name is just a label (it could be named "duckbilledplatypus" or whatever) but still I wondered if this confusing/misleading name for the dataset might have been problematic. So, I changed the name of the dataset to something more reasonable (I renamed it "VPM_V_RockBottom" as the Stored Procedure is named "sp_ViewPriceMatrix_Variance_RockBottom").
This made no difference, though. I replaced the new version of the report (.rdl file) in SSRS, re-ran the report, and still (don't) see the missing data.
Using the same parameters (date range and Unit name), this is what I see when run from my project's Preview tab:
...and here it is when run in SSRS:
So the "Hass"* Avocados show 18 members when run from VS 2010 (as it should be), and only 3 when run from SSRS. In both cases/places, "Asparagus Standard 11/1#" show 18 members, as they should.
Why would there be a difference, and how can I rectify this anomaly?
(sic - should be "Haas", not "Hass" (the German word for "hate"))
I have tried to remove the Dataset in SSRS and again create a new one same as the previous one.
It worked for me.

Why aren't my charts in SSRS 2012 displaying?

I recently moved several reports over to a new server. Everything works fine displaying tables and data, but charts are not displaying properly. It looks like the image is not rendering properly. My initial thought was that this was a permissions issue, specifically that the service account used to run SSRS needed permissions to a certain folder on the server that is used to generated chart images, but I can not find anything about this in searching for a solution.
This happens with old reports that display fine on the original server and new reports I try making on the new server.
EDIT: SSRS logs are showing a generic error in GDI+. Looks like this may be the issue, especially since this is running on a virtual server:
http://social.technet.microsoft.com/Forums/en-US/37ed20b2-99bc-4e36-a14b-c9f8cc297be3/ssrs-2012-reports-with-charts-generic-error-in-gdi-?forum=sqlreportingservices
I am curious about a point made in this question:
2) Ensure write permissions on the "folder to which SSRS caches the charts"
Well, firstly, I have not found a single article on the net as to
where this folder is; however, I tested this locally on the server
while logged in as Administrator with full privileges. This doesn't
seem to apply to my situation either.
Does anyone know about this folder? I would imagine that running while logged in as an admin would not mean anything since the service account running SSRS would need the correct privileges.
Someone had a similar problem and the solution was to repair the SQL Server installation. I know it is quite long to run but it might be worth a try.
Equivalent topic in SO
You can try restarting the report server. That worked in my case with Sharepoint and SQL Server 2012. Or repair the SQL server installation on the server as some posts suggest.
SSRS 2012 Charts Not Rendering
I had the same issue when deploying a new report locally.
I restarted my Report Server service and the reports rendered fine.

Microsoft VS2012 Report with sub-report working in Dev but not live

A windows application that I wrote some years ago required some changes recently (originally written in VS2005, modified using VS2008, and now updated/modified as a VS2012 project).
The application contains a Microsoft report that contains two sub-reports. The sub report data is a dataset, populated during a ReportViewer1.LocalReport.SubreportProcessing event.
A new field was added to the main report, but the sub-reports were not modified. The report works as expected on the development PC, but when installed on the client laptop, the sub-reports fail with the message:-
Data retrieval failed for the sub-report, <report name>, located at <report...rdlc>. Please check the log files for more information
No log files are produced on the client laptop
I tried to manually install the CTP 2012 Microsoft Report viewer, but the install fails, reporting that a newer version is already present (possibly from SQL Server Express 2012, also installed at the same time).
The database used for testing is restored from a live backup, so the data is the same. The sub-report event that adds the ReportDataSource to the sub-reports contains a try-catch block which doesn't raise any exceptions
During development, when I opened the reports in VS2012, a dialog opened that asked if they should be updated to the 2012 format, which I allowed, althoug this probably has no bearing on the fault.
Has anyone come across this issue? Is there a way to force the physical output of a log file on the client laptop?
UPDATE
Putting some MessagesBoxes in the code I have found the reason that sub-reports do not process, but I now need to find out why.
The 'LocalReport_SubreportProcessing' event fires twice for my report - once for each sub-report.
In order to identify which sub-report needs the additional data source, I check the value of 'SubreportProcessingEventArgs.ReportPath'. In my dev system it has the name of the report (minus the .rdlc extension) but, on the client laptop the value is empty.
I can't see how the reports get built into the output. Tthe main report shows OK on the laptop (just missing the sub-reports), although from where it is displayed I don't know at present - more investigation required!
I have just stumbled upon the same problem. Don't you hate Microsoft sometimes for doing it to us?
Anyway I think that the best solution is to check SubreportProcessingEventArgs.DataSourceNames[0] instead of checking SubreportProcessingEventArgs.ReportPath. This will (I checked) have the name of the data source for the subreport.
If you name your datasources uniquely you can identify which subreport is calling an event and set the data source properly. I usualy name my data sources as {SubreportName}DataSet, so all my data source names have the subreport name in them. Good luck.

Resources