我对 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 的服务器上,并且能够使其运行。