Błąd "Nie można zlokalizować serwera do załadowania modelu danych skoroszytu" w usłudze PowerPivot
Ten artykuł został napisany przez Ricka Andringa, inżyniera eskalacji pomocy technicznej.
Symptomy
Załóżmy, że zainstalujesz program PowerPivot dla programu Microsoft SharePoint 2016 lub Serwer raportów usługi Power BI i użyjesz SQL Server 2017 jako serwera modelu danych (usługi Analysis Services w trybie programu SharePoint). Skonfigurowano również Office Online Server i wszystkie inne zależności. Podczas próby renderowania skoroszytów i wycinka danych jest wyświetlany następujący komunikat o błędzie:
Nie można zlokalizować serwera do załadowania modelu danych skoroszytu.
Analizę
W dziennikach usługi Unified Logging Service (ULS) na Office Online Server podczas odtwarzania błędu zostaną wyświetlone błędy podobne do następujących:
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>>
Te błędy mogą wskazywać, że nie można utworzyć modeli danych na serwerze usług PowerPivot Analysis Services. Nie mogą bardzo pomóc w diagnozie. Aby znaleźć główną przyczynę, wymagane jest dokładniejsze przyjrzenie się dziennikowi i potrzebne jest pewne tło Usługi programu Excel.
Gdy Usługi programu Excel uruchamia się po raz pierwszy, wykonuje serię testów względem zdefiniowanych wystąpień programu PowerPivot przed zainicjowaniem. Jeśli jeden z nich zakończy się niepowodzeniem, ten serwer zostanie wyjęty z puli dostępnych serwerów. Po trzech głównych testach wykonuje zapytanie dotyczące dostępnej pamięci. Jest to oparte na licznikach wydajności, które są stosowane do serwera podczas instalacji SQL Server Analysis Services (SSAS). Ponieważ program PowerPivot jest tak zależny od liczników opartych na wydajności, jeśli brakuje liczników i sprawdzanie pamięci zakończy się niepowodzeniem, inicjowanie serwera również zakończy się niepowodzeniem. Jest to powrót do jednego z błędów, które widzieliśmy wcześniej: "Nie ma dostępnych serwerów ani aktywnie inicjowanych".
Dlatego ta lista ewidencjonowań może być widoczna w dziennikach w dowolnym momencie. Jeśli jednak uruchomisz polecenie wacsm ponownego uruchomienia usługi i rejestrujesz się podczas ponownego uruchamiania, zobaczysz następujące polecenie (może być konieczne zaangażowanie programu Excel w jakiś sposób, aby to wyskakujące):
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>>
Przyczyna
Brak liczników wydajności. Jest to znany problem z modelem tabelarycznym SQL Server Analysis Services 2017 (SSAS 2017) po zastosowaniu aktualizacji zbiorczej 1 dla SQL Server 2017 r. lub aktualizacji zbiorczej 2 dla SQL Server 2017 r. Następnie, jeśli zainstalujesz na nim inne wystąpienie, a nawet odinstalujesz lub ponownie zainstalujesz, liczniki wydajności nadal nie zostaną zainstalowane na serwerze.
Rozwiązanie
Ten problem został rozwiązany w aktualizacji zbiorczej 3 dla SQL Server 2017 r. Zobacz POPRAWKA: Brak liczników wydajności po zainstalowaniu programu SSAS 2017 w trybie tabelarycznym.
Aby rozwiązać ten problem, zalecamy zainstalowanie najnowszej aktualizacji zbiorczej dla SQL Server 2017 roku.