Report Manager hyperlinks pointing to wrong address - reporting-services

I'm helping our SA migrate a reporting service instance to a new server and we're encountering a strange issue. She installed SSRS 2005 and restored the reporting services databases without any issues. She then restore the encryption key from the previous server without a problem.
But when we try to open report manager, it goes to the URL of our previous SSRS instance instead of the new one (i.e. when going to https://[new URL]/reports, it takes us to https://[old URL]/reports/pages/folder.aspx). The only way we can get to the current reporting service instance is by specifying the entire URL (i.e. https://[new URL]/reports/pages/folder.aspx). Also, when hovering over the links at the top (i.e. Home, Site Settings, etc), the hyperlinks also point to the old URL. I imagine this doesn't have anything to do with the database we restored, so we're wondering if this has something to do with the encryption key from the old server.
Sorry if this isn't clear, but any input is appreciated.

Okay, this is going back in time but we had the exact same problem. Testing my memory, I believe the server name is stored in the Keys table in the ReportServer database in the column MachineName. That will be your old server name.
Take a backup!
Change it to your new server name.
Restart the Reporting Services service.

Related

Why did deploying a single report also overwrite the data source?

We had a problem earlier when deploying a single report to the production environment, when, for reasons we don't understand, SSRS decided to also overwrite the Data Source associated with the report with settings that do not even match those currently in the project.
We want to understand why/how this happens, and what we need to be doing to control it - ie, what are we missing about SSRS that we need to be aware of.
The steps we took were as follows:
Before starting: This is to update an existing report, not a new report, so the Prod report server already has the Data Source and the (old) Report Definition. The Data Source (shared) does not need to be changed at all, nor do we believe we did anything that should have prompted SSRS to do so. We only intended to overwrite the old report definition with the new one.
Data Source within project modified to point to the production Sql Server source
Deployment settings within the project modified to point to the production Report Server
The single report deployed (literally by right-clicking TheReport.rdl in the Solution Explorer and then clicking Deploy). That is everything we did. We did not deploy or change anything else.
Expected result: report definition on the prod server overwritten with the new report. Data Source completely unchanged, because why would it be? We didn't deploy that (and in any case, the one in the project is pointing to prod, so it shouldn't even matter if it did)
Actual result: Report overwritten as expected. Data Source also overwritten... with the old dev settings. Not the ones currently in the project. All the other reports sharing this data source suddenly stop working or display dev server data.
What are we doing wrong? SSRS quietly overwriting the associated Data Source on the server when deploying a single report seems dangerous (we would likely have missed that it had even happened, had the data on these particular dev and live environments been similar enough) so I presume we are missing something we should be doing/checking when deploying reports, but are at a loss as to exactly what.
That is configuration to copy your datasources and datasets to the report portal or not. You can change the configuration by right click on your report project and select properties that will open up the property pages. There is an option to overwrite default settings. Please check below image for more details
By using the above configuration it will deploy dataset and data sources on SSRS server only if it is not exists on the server.
Hope this will work.

Unknown error when upgrading from SSRS 2014 to 2016

I had to upgrade the report server used by some application from SSRS 2014 to SSRS 2016.
I did the migration manually, because the old and new SSRS were installed on different machines, and I could not do an in-place update.
So the approach was (long story short):
backup ReportServer on SSRS 2014
install SSRS 2016 on new server
restore ReportServer database
update its structure to match SSRS 2016; I used Sql Compare to get structure from an in-purpose, empty ReportServer database created by SSRS 2016
added record in ServerUpgradeHistory with version for SSRS 2016 (173)
restored the Encryption keys from SSRS 2014.
Everything works ok, with one small issue.
When I try to open SSRS Web Portal URL (http://...myServer.../Reports), or to refresh main page, I get the following error popup.
This error doesn't appear to affect the functionality of SSRS - all reports work just fine. Also it does's appear when opening Web Service URL (http://...myServer.../ReportServer).
So it's just annoying so far.
I searched for the guid string in Catalog table (I thought it might be some folder name or something), but I found nothing.
Does anyone have any idea where it comes from and how to get rid of it?
Thank you
Edit
Recently I updated from SSRS 2016 to 2017, and I kept carrying this error with me.
However I found the offending item. It is in Catalog table, and it is of Type = 3 (Resource), with mime-type application/octet-stream
I deleted it from catalog (I did a backup of it into a separate table - catalog_bak), but I still get the error when I load main page in (/reports)
Beside that, it never pops-up again, with one exception: it always shows-up when I access Site Settings -> Branding
I guess it has something to do with branding packages.
Does anyone knows where are they stored, and how can I uninstall / clean-up that?
A Branding Package is created by a user. If the original package can't be found or is corrupted it should revert to the default. Have you tried removing the package or creating and uploading a new one? Also, try downloading SQL Server Mobile Report Publisher (https://www.microsoft.com/en-us/download/details.aspx?id=50400) and then connect your server with it. It may contain a theme that was used on your original server.
For me Uninstall and Reinstall did the trick for me.

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.

How SSRS deployment works? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 9 years ago.
Improve this question
We currently working on an application where we are asked to generate reports. Our immediate choice was to use SSRS. After studying tutorials we successfully completed designing of all reports. However, I was not clear on how to deploy an SSRS Project for displaying them in a GUI environment.
My questions are:
Where should we deploy this project?
If we deploy in IIS, which server will run it?
Does IIS have the capability to run these?
Do we need to run any report server to run these reports?
Please any any clarification regarding these aspects.
I know how to create reports, but I am struggling with the basic concepts of SSRS. I.E. I need more information on how to setup in a production environment.
There are three parts to every report so let's cover those first:
A DataSource which is the connection string or equivalent to talk to a database, service or flat file. This can be contained in the report or shared. Shared matters in that a shared datasource may be used by one or many reports.
A Dataset which is a query, procedure or structure of obtaining data to be used in a report. This may also be contained in a report or shared. Again shared may be used with one or many reports and may be cached on a server.
The report itself. For the most part the RDL language is a proprietary microsoft language based in XML that takes one or many table, matrix, chart or other display elements and presents data that has been formatted for viewing through one or many datasets talking to one or many data sources.
Deployment in the simplest possible way could be the bold at the very bottom if you are familiar with Business Intelligence Development Studio. However there should be some checks done from the top down of a few things checked first:
Do you have an SSRS instance running on a local instance or a server in a domain you can talk to? You need to ensure the Server running SSRS is actually on and working. On the installation computer you should find it quite simply with All Programs>Microsoft SQL Server (vers)>Configuration Tools>Reporting Services Configuration Manager. Once this tool comes up it will attempt to prompt a window with ServerName and Report Server Instance. The default instance is usually MSSQLSERVER for SQL Server Standard or higher.
If this works great, if not you either never installed SSRS or the service is not running.
**If you believe you did it may not be running the service yet. Go back to All Programs>Microsoft SQL Server (vers)>Configuration Tools>SQL Server Configuration Manager. This will show all services that SQL Server is currently running, including SSRS if it was installed correctly. When it comes up go to 'SQL Server Services' on the left pane and you should see the equivalent of 'SQL Server Reporting Services (SQL instance)'. If it is stopped, start it. If it is not there you need to insure the installation of SSRS was successful or may be on another machine.
If 2 was successful you can hit 'Connect' and you now have a few panes on the left. For the time being deployment should focus on two of those panes 'Web Service URL' and 'Report Manager URL'. One is the ACTUAL SERVICE and the other is just a hosting location the user will see. Click on 'Report Manager URL', you should see a virtual directory and then a link like below. Click on this link and you should be able to get in.
http:// (servername)/Reports
If you could not get in it was probably due to you not being the administrator who installed SSRS or an equivalent admin. You need to be an admin on the server that installed SSRS then and click on this site. Once in you need to add relevant users under "Site Settings" in the upper right under Security. You not only need to do this but also under "Folder Settings" Security do this again. If you are deploying and altering reports you will want to be an 'admin' for the first site settings and a 'content manager' for the second. We need to ensure dedicated users can get to this page before continuing so ensure this can be done.
Once you can do above go back to the SSRS config manager and click on 'Web Service URL' on the left pane. You should see a virtual directory, default is 'ReportServer', and an identification section that generally is set to port 80. Below that is an URL that is most commonly. Click this and ensure you can go to this site as well.
http:// (servername)/ReportServer
Did you notice that this url is similar but different to above? This a huge step that a lot of people new to SSRS miss and end up having their whole deployment process not work.
If you can do both URL's above you are now ready to configure a solution for deployment. The easiest method to deploy code to an SSRS server is with the Visual Studio add on labeled 'Business Intelligence Development Studio'. You get this when you should have installed SSRS, however if you are on a different machine you may get this add on with either SQL Server Standard with advanced Tools or SQL Enterprise. To get to this the versioning is weird, they should match the Visual Studio Edition to the SQL Server version EXCEPT FOR SQL 2012, that is on VS 2010. If you are not sure you can again get to this under All Programs>Microsoft SQL Server (vers)>Business Intelligence Development Studio OR SQL Server Data Tools.
Once you have this tool you would open it up and create a new project 'Report Server Project'. There are tutorials on how to work with IDE but I want to focus on deployment so you should generally have one or many projects under a solution. Right click the project and choose properties. For SSRS deployment this is were everything is done. The main properties are as such (I will not go over all, you may have more):
Overwrite Datasets: False is default (should be kept, you may override if need be)
Overwrite DataSources: False is default (same as above)
TargetDatasetFolder: Datasets(you can change if need be)
TargetDataSourceFolder: Data Sources(same as above)
TargetServerURL: (blank)
The main key to SSRS deployment that 80% of people get confused about first is you deploy to the SERVICE NOT THE REPORT MANAGER URL. So you would put in http:// (servername)/ReportServer to the TARGETSERVERURL, not the other one. So many people say that SSRS deployment just will not work for them and it ends up being they did the targeting wrong.
Final step: You can create folders and datasources and even deploy to multiple locations all at once. But be careful, this is a powerful thing to set up and be aware of this. At the top of Visual Studio there is a ribbon for 'Configuration Management' that is by default selected to show the drop down 'Debug'. Click the drop down arrow. You should see one or many projects you have and you can choose to just 'Build' or also choose to check the 'Deploy' option as well. This would help if you wish to build and deploy to multiple environments or perhaps you can set up another configuration for different environments for QA, DEV, PROD, etc here as well.
If you just want to get started from BIDS follow step 6 and just right click a project and choose 'DEPLOY'. This will deploy all shared objects first (but not overwrite if set to false) and then reports. You may also highlight individual items and choose deploy as well.
First you will need to build the folder and then deploy the report.
You will need to set the url and folder in by right clicking the project on the solution explorer. Here you can set the url as well as the folder location.
About half way down this link, there is a step by step visual on how to deploy a report.
http://www.codeproject.com/Articles/194097/SSRS-Series-Part-I-Various-ways-of-Report-creation
I hope that gets you off to a good start!

How do I disable SQL Reporting Services and remove the Reports directory form IIS?

I'm trying to get rid of the /reports directory which seems to be integrated with SQL reporting services 2008. I'm unable to uninstall that one element of SQL server and I've had no luck when trying to reconfigure the ReportBuilderLaunchURL. Does anyone out there know how I can get rid of this stupid feature? I'd understand if it was just a virtual directory on the localhost instance but when it gets applied to all my site I get really frustrated and wonder who at Microsoft decided that this would be the default setting.
For future reference:
Use the "reporting services configuration manager".
In the report manager URL tab insert a new virtual directory.
I believe you uninstall SSRS by going through the installation process of SQL Server itself and selecting to remove a certain component (SSRS in this case).
Alternatively (probably better) is to go to the Add/Remove programs menu and select SQL Server and hit the "change" button. From there you will be given the option of the components you want to repair/install/uninstall/etc.
Edit: Here is an article I found which attempts to describe how to uninstall SSRS 2008. It seems to agree with what I was saying about the Add/Remove programs idea.
We've just been having this issue and the work around we came up with was linking it to one specific host header, rather than having it point to all sites on all IP addresses. (You can do this by clicking on the advanced button in the URL tab that #Luis mentions.) This has, effectively, quarantined the thing to one website and as it's a host header that isn't on any public site in the first place, it's massively limited the number of people who can even find it.