访问 SQL Server Reporting Services 2008 R2 中的报告管理器 URL 时什么会导致 500 内部服务器错误?

访问 SQL Server Reporting Services 2008 R2 中的报告管理器 URL 时什么会导致 500 内部服务器错误?

我对 Reporting Services 还很陌生,甚至不知道该问什么。有人给我提供了一台安装了该服务的服务器。我可以运行 Reporting Services 配置管理器并进行连接。但是,当我尝试访问 URL(Web 服务和报告管理器)时,我收到 500 错误。我在事件查看器中看不到任何内容。日志文件在某处吗?我对 IIS 设置感到怀疑。特别是虚拟目录。它们应该是什么样子?我知道这个问题很广泛,但希望得到一般指导。

更新: 检查日志后,发现第一个错误:

servicecontroller!WindowsService_0!358!09/07/2010-13:30:52:: e ERROR: Exception caught loading and setting code permissions policy level: System.NotSupportedException: This method explicitly uses CAS policy, which has been obsoleted by the .NET Framework. In order to enable CAS policy for compatibility reasons, please use the NetFx40_LegacySecurityPolicy configuration switch. Please see http://go.microsoft.com/fwlink/?LinkID=155570 for more information.
   at System.AppDomain.SetAppDomainPolicy(PolicyLevel domainPolicy)
   at Microsoft.ReportingServices.Library.ServiceController.SetAppDomainPolicy()
library!WindowsService_0!358!09/07/2010-13:30:52:: e ERROR: ServiceStartThread: Exception caught while starting service. Error: System.NotSupportedException: This method explicitly uses CAS policy, which has been obsoleted by the .NET Framework. In order to enable CAS policy for compatibility reasons, please use the NetFx40_LegacySecurityPolicy configuration switch. Please see http://go.microsoft.com/fwlink/?LinkID=155570 for more information.
   at System.AppDomain.SetAppDomainPolicy(PolicyLevel domainPolicy)
   at Microsoft.ReportingServices.Library.ServiceController.SetAppDomainPolicy()
   at Microsoft.ReportingServices.Library.ServiceController.ServiceStartThread(Object firstStart)

修复 CAS 问题后,我现在在日志中发现此错误(在我第一次尝试访问 Web 服务之后):

appdomainmanager!DefaultDomain!f6c!09/07/2010-14:32:20:: e ERROR: AppDomain ReportServer_11 failed to start. Error: The configuration system has already been initialized.
library!DefaultDomain!f6c!09/07/2010-14:32:20:: e ERROR: Throwing Microsoft.ReportingServices.Diagnostics.Utilities.ReportServerHttpRuntimeInternalException: Failed to create HTTP Runtime, Microsoft.ReportingServices.Diagnostics.Utilities.ReportServerHttpRuntimeInternalException: An internal or system error occurred in the HTTP Runtime object for application domain ReportServer_11.  ---> System.InvalidOperationException: The configuration system has already been initialized.
   at System.Configuration.ConfigurationManager.SetConfigurationSystem(IInternalConfigSystem configSystem, Boolean initComplete)
   at System.Web.Configuration.HttpConfigurationSystem.EnsureInit(IConfigMapPath configMapPath, Boolean listenToFileChanges, Boolean initComplete)
   at System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException)
   at System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException)
   at System.Web.Hosting.ApplicationManager.CreateAppDomainWithHostingEnvironment(String appId, IApplicationHost appHost, HostingEnvironmentParameters hostingParameters)
   at System.Web.Hosting.ApplicationManager.CreateAppDomainWithHostingEnvironmentAndReportErrors(String appId, IApplicationHost appHost, HostingEnvironmentParameters hostingParameters)
   at System.Web.Hosting.ApplicationManager.GetAppDomainWithHostingEnvironment(String appId, IApplicationHost appHost, HostingEnvironmentParameters hostingParameters)
   at System.Web.Hosting.ApplicationManager.CreateObjectInternal(String appId, Type type, IApplicationHost appHost, Boolean failIfExists, HostingEnvironmentParameters hostingParameters)
   at System.Web.Hosting.ApplicationManager.CreateObject(String appId, Type type, String virtualPath, String physicalPath, Boolean failIfExists, Boolean throwOnError)
   at ReportingServicesHttpRuntime.RsHttpRuntime.Create(RsAppDomainType type, String vdir, String pdir, Int32& domainId)
   --- End of inner exception stack trace ---;

答案1

SSRS 不依赖于 IIS(从 SQL 2008 开始),它使用自己的 http.sys 环境来托管 Web 服务和报告管理器。

参考:

C:\Program Files\Microsoft SQL Server\MSRS10_50\Reporting Services\LogFiles

可能的原因。

由于细节太少,很难知道,如果您在日志文件中发现错误,请发布它以提供进一步帮助。

答案2

最后,我将其安装在没有 .NET 4.0 的服务器上,并且能够使其运行。

相关内容