How to Enable Remote Errors for SQL Server Reporting Services
I'm developing a web application which is using Microsoft SQL Server Reporting Services and ASP.NET ReportViewer component in order to display reports on the web pages.
Recently, while working on a custom report viewer page which includes the ReportViewer web control, I had to run the application in debug mode and connect to a test Reporting Services server.
Since the SQL Server 2005 Reporting Services application is not my local computer, I was not able to see the error or exception information thrown by the Reporting Services.
Because for security reasons displayin errors to remote computers is disabled by default. Only if you are running the Reporting Services application on the IIS server which hosts the Reports or ReportServer virtual directories, you can then see the detailed error information on the page that the error has occured.
The only information about the error is displayed as "For more information about this error, navigate to the report server on the local server machine, or enable remote errors."
Because I had to deploy the current version of the application I'm developing on the test server which was not possible at that time, I chosed the second way to see more detailed information about the reporting services error.
I decided to enable remote errors on the web server where the Reporting Services instance is running to see additional error information for troubleshooting the problem I experienced.
Enabling remote errors for SQL Server Reporting Services means setting EnableRemoteErrors Reporting Services system property to True
There are two ways to set the EnableRemoteErrors property to True for a Reporting Services instance.
Update ReportServer database Configuration table for EnableRemoteErrors
First way is updating the ConfigurationInfo table which is in the ReportServer database for configuration record named "EnableRemoteErrors".
The default value for EnableRemoteErrors property in the ConfigurationInfo database table is "False". You can simply run an update sql statement to enable remote errors.
But you may not be successfull to see the changes made on the ConfigurationInfo table on the Reporting Services application, if the application is being used intensely.
Enable EnableRemoteErrors property though running a script
Second way to enable remote errors is using and running a script which updates the running configuration values of the Reporting Services.
The codes of the script that will update configuration values for EnableRemoteErrors is given in the SQL Server 2005 Books Online.
I chosed this method for solution in my problem. And this method successfully worked for my case.
Here is the script codes :
Public Sub Main()
Dim P As New [Property]()
P.Name = "EnableRemoteErrors"
P.Value = True
Dim Properties(0) As [Property]
Properties(0) = P
Try
rs.SetSystemProperties(Properties)
Console.WriteLine("Remote errors enabled.")
Catch SE As SoapException
Console.WriteLine(SE.Detail.OuterXml)
End Try
End Sub
Copy the above script code in an empty text file and as the script file as EnableRemoteErrors.rss on the root folder of your C drive.
Of course you can select an other name for the script file name and an other folder to save your script. I chosed C drive to keep it easy to run the below command promt statement.
Open the command promt window by running the "cmd" command in the "Run" box. Then run the below command after you have replaced the ReportServerName with the actual name of the Reporting Services server you want to configure and the ReportServer instance name.
You can keep ReportServer unchanged if you use the default configurations.
rs -i C:\EnableRemoteErrors.rss -s http://ReportServerName/ReportServer
Enabling remote errors for a Reporting Services may help you to get more detailed information that may help for troubleshooting problems with Reporting Services applications and reports you are developing, but do not forget that this is against security rules or general security policies.
Keep it short times you enable remote errors for your Reporting Services server and only for times you had to enable it.
You can then disable remote errors again by setting EnableRemoteErrors property to "False" by using any of the above methods.
But this time set the EnableRemoteErrors to False instead of True.
Other Reporting Services Properties kept in ConfigurationInfo table in ReportServer database
Here you can find a list of all SQL Server Reporting Services properties and default values kept in ReportServer database ConfigurationInfo table