PowerPivot 中的“无法找到用于加载工作簿数据模型的服务器”错误
本文由支持升级工程师 Rick Andring 撰写。
假设你安装 PowerPivot for Microsoft SharePoint 2016 或 Power BI 报表服务器,并使用 SQL Server 2017 作为数据模型服务器 (Analysis Services in SharePoint mode) 。 还配置了Office Online Server和所有其他依赖项。 尝试呈现工作簿和切片数据时,会收到以下错误消息:
无法找到用于加载工作簿数据模型的服务器。
在统一日志记录服务 (ULS) Office Online Server日志中,你将在重现错误时看到类似于以下内容的错误:
DateTime w3wp.exe (0x0000) 0x0000 Excel Online Data Model 27 Monitorable Uncaught CLR exception crossing the Interop boundary: Microsoft.AnalysisServices.Streaming.ServerNotFoundException: There are no servers available or actively being initialized. at <<TRUNCATED STACK FOR LENGTH>><<CORRELATION ID>>
DateTime w3wp.exe (0x0000) 0x0000 Excel Online External Data by6b8 Medium OLEDBConnection::InitConnection: There are no servers available or actively being initialized. <<CORRELATION ID>>
DateTime w3wp.exe (0x0000) 0x0000 Excel Online Excel Calculation Services akdn Verbose OperationSite.PrepareComplete: Caught Exception when running operation Microsoft.Office.Excel.Server.CalculationServer.Operations.ApplySlicerSelectionOperation, WebMethod: ApplySlicerSelection. Error was Id=NoStreamingServers; Microsoft.Office.Excel.Server.CalculationServer.OperationFailedException: We cannot locate a server to load the workbook Data Model. at Microsoft.Office.Excel.Server.CalculationServer.Operations.Operation.RunOperationAsync() at Microsoft.Office.Excel.Server.CalculationServer.Operations.OperationSite.PrepareComplete(PrepareAsyncArgs args) <<CORRELATION ID>>
这些错误只能指示无法在 PowerPivot Analysis Services 服务器上创建数据模型。 他们不能对诊断有很大帮助。 若要查找根本原因,需要更深入地查看日志,并需要一些有关Excel Services的背景。
首次启动Excel Services时,它会在初始化之前对定义的 PowerPivot 实例执行一系列检查。 如果一个服务器失败,该服务器会从可用服务器的池中取出。 三个main检查后,它会查询可用内存。 这基于在安装 SQL Server Analysis Services (SSAS) 期间应用于服务器的性能计数器。 由于 PowerPivot 依赖于基于性能的计数器,因此,如果缺少计数器并且内存检查失败,则服务器的初始化也会失败。 这可追溯到前面看到的一个错误:“没有可用的服务器或正在主动初始化的服务器。”
因此,你可能会在任何给定时间在日志中看到此检查列表。 但是,如果运行 restart-service wacsm 命令并在重启期间进行日志记录,则会看到以下 (可能需要以某种方式使用 Excel 才能弹出) :
DateTime w3wp.exe (0x0000) 0x0000 Excel Online Data Model 27 Medium Checking Server Configuration (SERVERNAME\POWERPIVOT)
DateTime w3wp.exe (0x0000) 0x0000 Excel Online Data Model 27 Medium --> Check Administrator Access (SERVERNAME\POWERPIVOT): Pass.
DateTime w3wp.exe (0x0000) 0x0000 Excel Online Data Model 27 Medium --> Check Server Version (SERVERNAME\POWERPIVOT): Pass (14.0.1.439 >= 11.0.2800.0).
DateTime w3wp.exe (0x0000) 0x0000 Excel Online Data Model 27 Medium --> Check Deployment Mode (SERVERNAME\POWERPIVOT): Pass.
DateTime w3wp.exe (0x0000) 0x0000 Excel Online Data Model 27 Medium Check Server Configuration (SERVERNAME\POWERPIVOT): Pass.
DateTime w3wp.exe (0x0000) 0x0000 Excel Online Data Model 27 Medium SSPM: Initialization failed on server SERVERNAME\POWERPIVOT: Microsoft.AnalysisServices.AdomdClient.AdomdErrorResponseException: The '\MSOLAP$POWERPIVOT:Memory\Memory Limit High KB' performance counter could not be found. System error -1073738824 <<TRUNCATED STACK>>
缺少性能计数器。 这是SQL Server Analysis Services 2017 (SSAS 2017 的表格模型) 应用 2017 SQL Server累积更新 1 或 2017 SQL Server累积更新 2 之后的已知问题。 随后,如果在该实例上安装另一个实例,甚至卸载或重新安装,则性能计数器仍不会安装在服务器上。
此问题已在 2017 SQL Server 累积更新 3 中修复。 请参阅 修复:在表格模式下安装 SSAS 2017 后缺少性能计数器。
若要解决此问题,建议安装 SQL Server 2017 的最新累积更新。