1

我有一种情况,我的 Microsoft SSRS 2012 报表服务器工作正常,但报表管理器不行,它会引发 HTTP 500 错误(网站无法显示页面)。

SSRS 2012 Report Manager 和 Report Server 工作正常,直到昨天我成功安装了带有 SSRS 的 SQL Server 2016;SSRS 2016 报表服务器和报表管理器都很好;我的 SSRS 2008R2 报表服务器和报表管理器也是如此。(在成功安装 SSRS 2016 之前,我的 SSRS 2008R2 和 SSRS 2012 都可以正常工作;现在 SSRS 2012 的报告管理器部分无法正常工作,其他部分保持不变)

我认为 SQL Server 2012 是近一年前作为默认实例安装的。


来自 SSRS 2012 Reporting Services 配置管理器的详细信息:

服务帐户:使用内置帐户 (ReportServer$SQL2012DEV)


来自 SSRS 2016 和 SSRS 2008R2 Reporting Services 配置管理器的详细信息:

服务帐户:使用内置帐户(网络服务)


我有 Reporting Services 配置管理器的屏幕截图。 在此处输入图像描述

下面是 SQL Server 配置管理器的屏幕截图:在此处输入图像描述

这取自事件查看器-Windows 日志-应用程序:Source ASP.NET 2.0.50727.0

Failed to initialize the AppDomain:ReportManager_SQL2012DEV_0

Exception: System.Web.HttpException

Message: Could not load file or assembly 'Microsoft.ReportingServices.SharePoint.ObjectModel, Version=13.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

StackTrace:    at System.Web.Compilation.BuildManager.ReportTopLevelCompilationException()
   at System.Web.Compilation.BuildManager.EnsureTopLevelFilesCompiled()
   at System.Web.Compilation.BuildManager.CallAppInitializeMethod()
   at System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters)
   at System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters)
   at System.Web.Hosting.ApplicationManager.CreateAppDomainWithHostingEnvironment(String appId, IApplicationHost appHost, HostingEnvironmentParameters hostingParameters)
   at System.Web.Hosting.ApplicationManager.CreateAppDomainWithHostingEnvironmentAndReportErrors(String appId, IApplicationHost appHost, HostingEnvironmentParameters hostingParameters)

InnerException: System.Configuration.ConfigurationErrorsException

Message: Could not load file or assembly 'Microsoft.ReportingServices.SharePoint.ObjectModel, Version=13.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

StackTrace:    at System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective)
   at System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory()
   at System.Web.Configuration.CompilationSection.LoadAssembly(AssemblyInfo ai)
   at System.Web.Configuration.AssemblyInfo.get_AssemblyInternal()
   at System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig)
   at System.Web.Compilation.BuildProvidersCompiler..ctor(VirtualPath configPath, Boolean supportLocalization, String outputAssemblyName)
   at System.Web.Compilation.ApplicationBuildProvider.GetGlobalAsaxBuildResult(Boolean isPrecompiledApp)
   at System.Web.Compilation.BuildManager.CompileGlobalAsax()
   at System.Web.Compilation.BuildManager.EnsureTopLevelFilesCompiled()

InnerException: System.IO.FileLoadException

Message: Could not load file or assembly 'Microsoft.ReportingServices.SharePoint.ObjectModel, Version=13.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

StackTrace:    at System.Reflection.Assembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection)
   at System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
   at System.Reflection.Assembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
   at System.Reflection.Assembly.Load(String assemblyString)
   at System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective)

InnerException: System.IO.FileLoadException

Message: Could not load file or assembly 'Microsoft.ReportingServices.SharePoint.ObjectModel' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

StackTrace: 

这取自 SSRS 日志:C:\Program Files\Microsoft SQL Server\MSRS11.SQL2012DEV\Reporting Services\LogFiles\ReportingServerService.txt

WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

   at System.Reflection.Assembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection)
   at System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
   at System.Reflection.Assembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
   at System.Reflection.Assembly.Load(String assemblyString)
   at System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective)


   --- End of inner exception stack trace ---
   at System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective)
   at System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory()
   at System.Web.Configuration.CompilationSection.LoadAssembly(AssemblyInfo ai)
   at System.Web.Configuration.AssemblyInfo.get_AssemblyInternal()
   at System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig)
   at System.Web.Compilation.BuildProvidersCompiler..ctor(VirtualPath configPath, Boolean supportLocalization, String outputAssemblyName)
   at System.Web.Compilation.ApplicationBuildProvider.GetGlobalAsaxBuildResult(Boolean isPrecompiledApp)
   at System.Web.Compilation.BuildManager.CompileGlobalAsax()
   at System.Web.Compilation.BuildManager.EnsureTopLevelFilesCompiled()
   --- End of inner exception stack trace ---
   at System.Web.Compilation.BuildManager.ReportTopLevelCompilationException()
   at System.Web.Compilation.BuildManager.EnsureTopLevelFilesCompiled()
   at System.Web.Compilation.BuildManager.CallAppInitializeMethod()
   at System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters)
   at System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters)
   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 ---;
appdomainmanager!ReportManager_0-29!3c3c!03/09/2017-14:41:13:: i INFO: Appdomain:31 ReportManager_SQL2012DEV_0-29-131335242724582365 unloading
library!DefaultDomain!3c3c!03/09/2017-14:41:13:: e ERROR: Throwing Microsoft.ReportingServices.Diagnostics.Utilities.ReportServerAppDomainManagerException: Failed to create Report Server HTTP Runtime, Microsoft.ReportingServices.Diagnostics.Utilities.ReportServerAppDomainManagerException: An error occurred when attempting to start the application domain ReportManager within the Report Server service. ---> Microsoft.ReportingServices.Diagnostics.Utilities.ReportServerHttpRuntimeInternalException: An internal or system error occurred in the HTTP Runtime object for application domain ReportManager_SQL2012DEV_0.  ---> System.Web.HttpException: Could not load file or assembly 'Microsoft.ReportingServices.SharePoint.ObjectModel, Version=13.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) ---> System.Configuration.ConfigurationErrorsException: Could not load file or assembly 'Microsoft.ReportingServices.SharePoint.ObjectModel, Version=13.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) ---> System.IO.FileLoadException: Could not load file or assembly 'Microsoft.ReportingServices.SharePoint.ObjectModel, Version=13.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) ---> System.IO.FileLoadException: Could not load file or assembly 'Microsoft.ReportingServices.SharePoint.ObjectModel' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
   --- End of inner exception stack trace ---;
rshost!rshost!3c3c!03/09/2017-14:41:13:: e ERROR: Failed to create HttpRuntime 80131500.
rshost!rshost!3c3c!03/09/2017-14:41:13:: e ERROR: Failed to get appdomain 80131500, pipeline=0x00000002781A5990.
rshost!rshost!3c3c!03/09/2017-14:41:13:: e ERROR: Error state. Internal abort for pipeline=0x00000002781A5990 ...
appdomainmanager!DefaultDomain!3240!03/09/2017-14:41:19:: i INFO: Appdomain:31 ReportManager_SQL2012DEV_0-29-131335242724582365 unregistered.
rshost!rshost!3240!03/09/2017-14:41:19:: i INFO: Application domain type ReportManager statistics: created: 27, unloaded: 27, failed: 0, timed out: 0.

4

2 回答 2

1

当在同一环境中安装多个版本的 SSRS 时,我遇到了类似的问题。在我的系统中,我安装了 SQL 2012、SQL 2014 和 SQL 2016,包括 SSRS 和其他共享功能。

SSRS 2012 实例不包含任何 SharePoint 组件。但是,SSRS 2012 的报告经理似乎是从另一个实例中引用它们。我是在检查C:\Program Files\Microsoft SQL Server\\Reporting Services\LogFiles生成的日志文件时才知道的。

解决方案:

我已经验证了所有已安装的 SQL 实例特定组件和共享组件。

我已经确定 SQL 2012 和 SQL 2014 实例不包含任何与 SharePoint 相关的组件。但是,SQL 2016 实例包含很少与 SharePoint 相关的共享组件。它们是“Microsoft SQL Server 2016 RS Add-in for SharePoint”“Reporting Services - SharePoint”

在控制面板的程序和功能下,我卸载了“Microsoft SQL Server 2016 RS Add-in for SharePoint”组件。我停止并重新启动了 2012 和 2016 实例的 SSRS 服务。在此之后,SSRS 2012 的报告管理器仍然无法正常工作。

接下来,在控制面板的程序和功能下,我选择了“ Microsoft SQL Server 2016 (64-bit) ”,然后选择了Uninstall/Change,然后选择了删除。浏览后,我进入了“选择功能”页面。在共享功能下,我检查了“Reporting Services - SharePoint”并继续删除它。

完成后,我为 SQL 2012 和 2016 实例重新启动了 SSRS 服务。在此之后,2012 和 2016 实例的两个 SSRS 站点都按预期工作。所以我的问题解决了。

我仍然不清楚为什么 SQL 2016 实例的设置或功能包含会影响 SQL 2012 实例。

于 2017-07-20T10:10:15.603 回答
-1

它只是在从文件中删除以下标签后才起作用:-

机器配置

于 2020-07-17T16:36:19.663 回答