Resolving SSRS 2008 Deployment and Access Issues

If you are coming from SSRS 2005 background. You would be accustomed to the fact that SSRS is part of SQL server and at the same time, it is a web application in IIS.
So, when you want to configure the report server, you would tinker the IIS and SQL server management studio.

However, once you have upgraded the SSRS to be 2008. You would feel lost at first that all these familiar ways of doing things have changed. So, now, it is no longer depending on IIS seems. It has it's own http.sys.

These are all good as in term of technology improvement and progress but at developer end, it is nothing pleasant but confusion and frustration when trying to troubleshoot the problem developers encounter, especially for experienced SSRS developers. They suddenly have turned into rookies. Ok, to help those experienced developers out there. This is my take to experienced guys as this is what i have been through too.
First thing first, you have to accept the fact that technology advance quicker than you thought, don't obsess to the old way of doing things. (This is a digression, just for laugh, don't take it seriously...:)).

Ok, the real deal is there are few new places that you need to check on. So quit those old habits and check items below.

1. Reporting Services Configuration Manager.
2. The familiar http://(YourServer)/Reports (report manager)
3. SQL Server Management Studio
4. C:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportServer\rsreportserver.config
5. Checking status of URL for http.sys
6. Folder permission for virtual directory.
7. Visual Studio Project Setting.
8. The Run As Administrator permission when running the Internet Explorer.

Reporting Services Configuration Manager
Reporting Services Configuration Manager is a new dedicated configuration program to configure everything that you used to do in IIS in the past.

The common problem that you would face if you are using it in your own testing machine is that you can't connect to ReportManager URL using your browser. No matter what you do, you tweak your permission and etc. Out of many solutions that i have tried. (If i am positively sure i install everything correctly). The commonest problem would be the SSRS is trying to use SSL as the main connection to the report manager. May be someone would be needing that in the production server but not for developer. So, first thing, remove the Multiple SSL identities for Report Manager. iPV4 or iPV6. It should solve the report manager not being able to connect problem.

http://(YourServer)/Reports (report manager)
This is the same old report manager but now, it has more in it. You have to assign windows login / domain user the permission to each of the folder . Especially the root. You need it for deploying using your IDE or report builder. You need to ensure roles below get assign to the Windows Login you use in your IDE/report builder.
- Browser
- Content Manager
- My Reports
- Publisher
- Report Builder.

SQL Server Management Studio

This is the same as before, but one thing most commonly neglect in here is the user permission to the database schema. Report server still uses database and it has it own database schema. Make sure the ReportServer database has your user login configured in it.

C:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportServer\rsreportserver.config
This is the most obscure setting among all. It got me stuck for hours. Basically, the commonest issue is that the SSRS installer is being thoughtful to help to harden the security of the connection which most developers do not need.

Look for
<Add Key="SecureConnectionLevel" Value="2"/>
Change the value to be 0.

Status of URL for http.sys
If you are not using the default URL/virtual directory. You need to check this
netsh http show urlacl

and compare it to C:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportServer\rsreportserver.config

if the setting matches the one running in http.sys

Delete the unwanted URL reservations:
netsh http delete urlacl [INSERT RESERVED URL HERE]

Permission for virtual folder
I don't recall i have seen the virtual folder for the report server. IN fact, there is no virtual folder etc anymore, everything is stored in database now. So, don't bother to crack your head to look for it and suspect it is folder permission problem.

However, there aresome places that you need to set the permission.

http://(yourmachine)/Reports or http://(yourmachine)/ReportServer (which ever work)

Run your IE with admin rights and then in site settings click security and in the setting, set it to admin for the user login.

After this, set this to folder as well . Click Home and then properties of each and set the credential you need.

Visual Studio Project Setting
Ensure the targetURL is "http://ServerName/ReportServer" and NOT http://ServerName/Reports".

I think that is all required for seasoned SSRS 2005 developer should they get stuck with SSRS 2008. Other problems beside above would stuff like firewall, incomplete installation, sharepoint (if it is to be used with sharepoint) and internet browser security setting which is not covered here.

The Run As Administrator permission when running the Internet Explorer
One of the security improvement in Windows (so called improvement) is that whenever you want to perform any system related action in your application, you need to run the application as Administrator. Especially if you have Vista or Windows 7, menial stuff also you would need to ensure you run it as System Administrator eventhough your login to windows is already an Administrator. A few layers of confirmation check by Microsoft. (Kinda like, are you sure? are you really really sure?) This itself would affect the SSRS 2008 when you want to run the report manager. Find it hard to believe but if you do not run your Internet Explorer as Administrator, you get permission denied prompt. Many people would not expect this and I always forget about this. Must run as Administrator.


Popular posts from this blog

Clearcase check in/uncheck out all the checked out files script

Duplicating a local copy of project from TFS and making web software client factory to work