PowerPivot で、"ブックデータモデルを読み込むサーバーが見つかりません" というエラーが発生する

この記事は、 Rick Andring(サポートエスカレーションエンジニア) によって作成されました。

現象

PowerPivot for Microsoft SharePoint 2016 または Power BI レポートサーバーをインストールし、SQL Server 2017 をデータモデルサーバーとして使用していることを前提としています (SharePoint モードの Analysis Services)。 Office Online Server とその他すべての依存関係も構成しています。 ブックとスライスデータを表示しようとすると、次のエラーメッセージが表示されます。

ブックのデータモデルを読み込むサーバーが見つかりません。

分析

Office Online Server の統合ログサービス (ULS) ログには、エラーを再現する際に次のようなエラーが表示されます。

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 インスタンスに対して、初期化前に一連のチェックを実行します。 1つでも失敗すると、そのサーバーは利用可能なサーバーのプールから除外されます。 3つの主要チェックの後に、使用可能なメモリのクエリが実行されます。 これは、SQL Server Analysis Services (SSAS) のインストール時にサーバーに適用されるパフォーマンスカウンターに基づいています。 PowerPivot はパフォーマンスベースのカウンターに依存しているため、カウンターが不足していてメモリチェックに失敗すると、サーバーの初期化も失敗します。 これで、前に示したエラーの1つに戻ることができます。 "使用できるサーバーがないか、またはアクティブに初期化されていません。"

このため、ログに記録されているチェックの一覧は、いつでも確認できます。 しかし、再起動時にログが記録されるように、サービスを再起動すると、 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 2017 またはsql 2017 server の累積的な更新プログラム 2累積的な更新プログラム1を適用した後の sql server ANALYSIS Services 2017 (SSAS 2017) の表形式モデルの既知の問題です。 その後、その上に別のインスタンスをインストールした場合、またはアンインストールや再インストールを行った場合でも、パフォーマンスカウンターはサーバーにインストールされません。

解決方法

この問題は、SQL Server 2017 の累積的な更新プログラム3で修正されています。 「 FIX 2017:the the the the the the the the the the the the the the the the the the the the the 表モード」を参照してください。

この問題を解決するには、 SQL Server 2017 用の最新の累積的な更新プログラムをインストールすることをお勧めします。