Udostępnij za pośrednictwem


Rozwiązywanie problemów z zaplanowanym odświeżaniem w Serwer raportów usługi Power BI

W tym artykule omówiono zasoby dostępne do rozwiązywania problemów z zaplanowanym odświeżaniem w Serwer raportów usługi Power BI.

W miarę rozwiązywania problemów ten artykuł zostanie zaktualizowany o informacje pomocne.

Typowe problemy

Poniżej przedstawiono bardziej typowe problemy, które zostaną napotkane podczas próby zaplanowanego odświeżania raportu.

Połączenie do różnych źródeł danych może wymagać sterowników innych firm, które muszą zostać zainstalowane w celu pomyślnego nawiązania połączenia. Nie tylko musisz zainstalować je na maszynie, na której używasz programu Power BI Desktop, ale także upewnić się, że sterownik jest zainstalowany na serwerze raportów.

Sterownik może również znajdować się zarówno w 32bitach, jak i 64-bitowych. Pamiętaj, aby zainstalować sterownik 64-bitowy, ponieważ Serwer raportów usługi Power BI jest 64-bitowy.

Aby uzyskać szczegółowe informacje na temat instalowania i konfigurowania sterowników innych firm, zapoznaj się z producentem.

Wykorzystanie pamięci

Wykorzystanie pamięci może wystąpić, gdy raporty wymagają większej ilości pamięci do przetwarzania i renderowania. Planowanie odświeżania raportów może wymagać znacznej ilości pamięci na maszynie. Szczególnie w przypadku większych raportów. Wykorzystanie pamięci może spowodować awarie raportów, a także potencjalną awarię samego serwera raportów.

Jeśli stale napotykasz wykorzystanie pamięci, warto przyjrzeć się skalowanemu wdrożeniu serwera raportów w celu rozłożenia obciążenia zasobów. Można również zdefiniować, że dany serwer raportów jest używany do odświeżania danych za pomocą IsDataModelRefreshService ustawienia w pliku rsreportserver.config. To ustawienie umożliwia zdefiniowanie co najmniej jednego serwera jako serwera frontonu do obsługi raportów na żądanie i użycie innego zestawu serwerów tylko do zaplanowanego odświeżania.

Aby uzyskać informacje na temat monitorowania wystąpienia usług Analysis Services, zobacz Monitorowanie wystąpienia usług Analysis Services.

Aby uzyskać informacje o ustawieniach pamięci w usługach Analysis Services, zobacz Właściwości pamięci.

Konfiguracja protokołu Kerberos

Połączenie do źródła danych z poświadczeniami systemu Windows może wymagać skonfigurowania ograniczonego delegowania Protokołu Kerberos w celu pomyślnego nawiązania połączenia. Aby uzyskać więcej informacji na temat konfigurowania ograniczonego delegowania protokołu Kerberos, zobacz Konfigurowanie protokołu Kerberos do korzystania z raportów usługi Power BI.

Znane problemy

Informacje o znanych problemach zostaną wyświetlone tutaj, gdy staną się dostępne.

Ustawienia konfiguracji

Następujące ustawienia mogą służyć do wpływania na zaplanowane odświeżanie. Ustawienia ustawione w programie SQL Server Management Studio (SSMS) mają zastosowanie do wszystkich serwerów raportów we wdrożeniu skalowalnym w poziomie. Ustawienia skonfigurowane w pliku rsreportserver.config są przeznaczone dla określonego serwera, na który są ustawione.

Ustawienia w programie SSMS:

Ustawienie opis
MaxFileSizeMb Maksymalny rozmiar pliku dla przekazanych raportów. Wartość domyślna to 1000 MB (1 GB). Wartość maksymalna to 2000 MB (2 GB).
ModelCleanupCycleMinutes Określa, jak często model jest sprawdzany, aby wykluczyć go z pamięci. Wartość domyślna to 15 minut.
ModelExpirationMinutes Określa czas wygaśnięcia modelu na podstawie czasu ostatniego użycia i eksmitowany. Wartość domyślna to 60 minut.
ScheduleRefreshTimeoutMinutes Określa, jak długo odświeżanie danych może potrwać dla trybu. Wartość domyślna to 120 minut. Nie ma górnego limitu.

Ustawienia w pliku rsreportserver.config:

<Configuration>
    <Service>
        <PollingInterval>10</PollingInterval>
        <IsDataModelRefreshService>false</IsDataModelRefreshService>
        <MaxQueueThreads>0</MaxQueueThreads>
    </Service>
</Configuration>

Narzędzia do rozwiązywania problemów

Dzienniki istotne dla zaplanowanego odświeżania raportów usługi Power BI

Pliki dziennika zawierające informacje o zaplanowanym odświeżaniu to dzienniki RSPowerBI_. Znajdują się one w folderze LogFiles lokalizacji instalacji serwera raportów.

C:\Program Files\Microsoft Power BI Report Server\PBIRS\LogFiles\RSPowerBI_*.log

Warunek błędu

2017-10-20 02:00:09.5188|ERROR|744|Error Processing Data Model Refresh: SessionId: e960c25e-ddd4-4763-aa78-0e5dceb53472, Status: Error Model can not be refreshed because not all the data sources are embedded, Exception Microsoft.PowerBI.ReportServer.AsServer.InvalidDataSourceException: Model can not be refreshed because not all the data sources are embedde
   at Microsoft.PowerBI.ReportServer.WebHost.EventHandler.AnalysisServicesDataRefresh.CanModelRefresh(IEnumerable`1 dataSources)
   at Microsoft.PowerBI.ReportServer.WebHost.EventHandler.DataRefreshScope.<>c__DisplayClass7.<ExecuteActionWithLogging>b__5()
   at Microsoft.PowerBI.ReportServer.WebHost.EventHandler.DataRefreshScope.<ExecuteFuncWithLogging>d__1`1.MoveNext()

Pomyślne odświeżenie

2017-10-25 15:23:41.9370|INFO|6|Handling event with data: TimeEntered: 10/25/2017 8:23:41 PM, Type: Event, SessionId: 46d398db-0b1f-49d8-b7bd-c5461c07ec7a, EventType: DataModelRefresh
2017-10-25 15:23:41.9370|INFO|6|Processing Data Model Refresh: SessionId: 46d398db-0b1f-49d8-b7bd-c5461c07ec7a, Status: Starting Data Refresh.
2017-10-25 15:23:41.9370|INFO|6|Processing Data Model Refresh: SessionId: 46d398db-0b1f-49d8-b7bd-c5461c07ec7a, Status: Starting Retrieving PBIX AsDatabaseInfo.
2017-10-25 15:23:42.7134|INFO|6|Processing Data Model Refresh: SessionId: 46d398db-0b1f-49d8-b7bd-c5461c07ec7a, Status: Starting Verifying all the data sources are embedded.
2017-10-25 15:23:42.7134|INFO|6|Processing Data Model Refresh: SessionId: 46d398db-0b1f-49d8-b7bd-c5461c07ec7a, Status: Starting Verifying connection strings are valid.
2017-10-25 15:23:42.7134|INFO|6|Processing Data Model Refresh: SessionId: 46d398db-0b1f-49d8-b7bd-c5461c07ec7a, Status: Starting Streaming model to Analysis Server.
2017-10-25 15:23:42.7603|INFO|6|Processing Data Model Refresh: SessionId: 46d398db-0b1f-49d8-b7bd-c5461c07ec7a, Status: Starting Refreshing the model.
2017-10-25 15:23:51.5258|INFO|6|Processing Data Model Refresh: SessionId: 46d398db-0b1f-49d8-b7bd-c5461c07ec7a, Status: Starting Removing credentials from the model.
2017-10-25 15:23:51.6508|INFO|6|Processing Data Model Refresh: SessionId: 46d398db-0b1f-49d8-b7bd-c5461c07ec7a, Status: Starting Saving model to the catalog.

Nieprawidłowe poświadczenia

2017-10-20 08:22:01.5595|INFO|302|Processing Data Model Refresh: SessionId: 22cd9ec3-b21a-4eb1-81ae-15fac8d379ea, Status: Starting Refreshing the model.
2017-10-20 08:22:02.3758|ERROR|302|Error Processing Data Model Refresh: SessionId: 22cd9ec3-b21a-4eb1-81ae-15fac8d379ea, Status: Error Failed to refresh the model, Exception Microsoft.AnalysisServices.OperationException: Failed to save modifications to the server. Error returned: 'The credentials provided for the SQL source are invalid. (Source at rosecatalog;reportserver.). The exception was raised by the IDbCommand interface.
'.
   at Microsoft.AnalysisServices.Tabular.Model.SaveChanges(SaveOptions saveOptions)
   at Microsoft.PowerBI.ReportServer.AsServer.TOMWrapper.RefreshModel(Database database)
   at Microsoft.PowerBI.ReportServer.AsServer.AnalysisServicesServer.RefreshDatabase(String databaseName, IEnumerable`1 dataSources)
   at Microsoft.PowerBI.ReportServer.WebHost.EventHandler.AnalysisServicesDataRefresh.RefreshDatabase(AsDatabaseInfo asDatabaseInfo)
   at Microsoft.PowerBI.ReportServer.WebHost.EventHandler.DataRefreshScope.<>c__DisplayClass7.<ExecuteActionWithLogging>b__5()
   at Microsoft.PowerBI.ReportServer.WebHost.EventHandler.DataRefreshScope.<ExecuteFuncWithLogging>d__1`1.MoveNext()
2017-10-20 08:22:02.4588|ERROR|302|Error Processing Data Model Refresh: SessionId: 22cd9ec3-b21a-4eb1-81ae-15fac8d379ea, Status: Error Failed Data Refresh, Exception Microsoft.AnalysisServices.OperationException: Failed to save modifications to the server. Error returned: 'The credentials provided for the SQL source are invalid. (Source at rosecatalog;reportserver.). The exception was raised by the IDbCommand interface.
'.
   at Microsoft.PowerBI.ReportServer.WebHost.EventHandler.DataRefreshScope.ExecuteActionWithLogging(Action methodToExecute, String description, String localizedDescription, String messageInFailure, RefreshInfo refreshInfo, DataAccessors dataAccessors, ReportEventType operation, Int64 size, Boolean isDataRetrieval, Boolean showInExecutionLog)
   at Microsoft.PowerBI.ReportServer.WebHost.EventHandler.AnalysisServicesDataRefresh.RefreshData(RefreshInfo refreshInfo)
   at Microsoft.PowerBI.ReportServer.WebHost.EventHandler.DataRefreshScope.<>c__DisplayClass7.<ExecuteActionWithLogging>b__5()
   at Microsoft.PowerBI.ReportServer.WebHost.EventHandler.DataRefreshScope.<ExecuteFuncWithLogging>d__1`1.MoveNext()

Włączanie pełnego rejestrowania

Włączenie pełnego rejestrowania w Serwer raportów usługi Power BI jest takie samo jak w przypadku usług SQL Server Reporting Services.

  1. Otwórz <install directory>\PBIRS\ReportServer\bin\ReportingServicesService.exe.config.
  2. W obszarze <system.diagnostics>zmień wartość DefaultTraceSwitch na 4.
  3. W obszarze <RStrace>zmień wartość Components na all:4.

Dziennik wykonywania

Za każdym razem, gdy raport usługi Power BI jest renderowany lub jest wykonywany plan zaplanowanego odświeżania, nowe wpisy są dodawane do dziennika wykonywania w bazie danych. Te wpisy są dostępne w widoku ExecutionLog3 w bazie danych katalogu serwerów raportów.

Wpisy dziennika wykonywania dla raportów usługi Power BI różnią się od wpisów dla innych typów raportów.

  • Kolumny czasomierza są zawsze 0. Renderowanie raportów usługi Power BI odbywa się w przeglądarce, a nie na serwerze.
  • Istnieją 2 typy żądań i kolejne akcje elementów:
    • Interakcyjne: za każdym razem, gdy raport jest wyświetlany.
      • ASModelStream: gdy model danych jest przesyłany strumieniowo do usług Analysis Services z katalogu.
      • ConceptualSchema: gdy użytkownik kliknie wyświetlanie raportu.
      • QueryData: za każdym razem, gdy dane są żądane od klienta.
    • Odśwież pamięć podręczną: za każdym razem, gdy zostanie wykonany plan zaplanowanego odświeżania.
      • ASModelStream: za każdym razem, gdy model danych jest przesyłany strumieniowo do usług Analysis Services z katalogu.
      • DataRefresh: za każdym razem, gdy dane są odświeżane z co najmniej jednego źródła danych.
      • SaveToCatalog: za każdym razem, gdy model danych jest zapisywany z powrotem w wykazie.

Analysis Services

Czasami warto zmodyfikować usługi Analysis Services w celu diagnozowania problemów lub dostosować limity pamięci.

Ważne

Te ustawienia zostaną zresetowane za każdym razem, gdy uaktualnisz serwer raportów. Pamiętaj, aby zachować kopię zmian i w razie potrzeby ponownie je zastosować.

Lokalizacja instalacji

Domyślna lokalizacja dla Serwer raportów usługi Power BI i usług Analysis Services jest następująca.

C:\Program Files\Microsoft Power BI Report Server\PBIRS\ASEngine

Konfigurowanie ustawień usług Analysis Services (msmdsrv.ini)

<install directory>\PBIRS\ASEngine W katalogu znajduje się plik msmdsrv.ini, którego można użyć do kontrolowania różnych ustawień usług Analysis Services. Po otwarciu tego pliku natychmiast zauważysz, że ten plik nie ma wszystkich ustawień, których można oczekiwać w pliku msmdsrv.ini.

Dzieje się tak dlatego, że rzeczywisty proces usług Analysis Services uruchamiany przez Serwer raportów usługi Power BI jest uruchamiany w programie <install directory>\PBIRS\ASEngine\workspaces. W tym folderze zobaczysz pełny plik msmdsrv.ini , do którego służy. Ważne jest, aby nie modyfikować pliku w folderze obszarów roboczych, ponieważ jest on zastępowany przy każdym uruchomieniu procesu usług Analysis Services. Jeśli chcesz kontrolować ustawienie, zrób to, modyfikując plik msmdsrv.ini w <install directory>\PBIRS\ASEngine katalogu.

Następujące ustawienia są resetowane po uruchomieniu procesu usług Analysis Services. Wszelkie wprowadzone zmiany zostaną zignorowane.

  • Konfiguracja Ustawienia\PrivateProcess
  • Konfiguracja Ustawienia\DataDir
  • Konfiguracja Ustawienia\LogDir
  • Konfiguracja Ustawienia\TempDir
  • Konfiguracja Ustawienia\BackupDir
  • Configuration Ustawienia\AllowedBrowsingFolders
  • Configuration Ustawienia\CrashReportsFolder
  • Configuration Ustawienia\ExtensionDir
  • Konfiguracja Ustawienia\Port
  • Configuration Ustawienia\DeploymentMode
  • Konfiguracja Ustawienia\ServerLocation
  • Configuration Ustawienia\TMCompatabilitySKU
  • Configuration Ustawienia\FlightRecorder\TraceDefinitionFile

Profilowanie lokalnego procesu usług Analysis Services

Śledzenie profilera SQL można uruchomić w lokalnym procesie usług Analysis Services na potrzeby diagnostyki. Aby nawiązać połączenie z lokalnym wystąpieniem usług Analysis Services, wykonaj następujące czynności.

Śledzenie profilera programu SQL Server jest dołączone do pobierania programu SQL Server Management Studio (SSMS).

  1. Uruchom program SQL Server Profiler jako administrator.
  2. Wybierz przycisk Nowy ślad.
  3. W oknie dialogowym Połączenie do serwera wybierz pozycję Analysis Services i wprowadź wartość localhost:5132 jako nazwę serwera.
  4. W oknie dialogowym Właściwości śledzenia wybierz zdarzenia, które chcesz przechwycić, i wybierz pozycję Uruchom.

Blokowanie stron w uprawnieniach systemu Windows pamięci

Jeśli okaże się, że nie możesz renderować raportu usługi Power BI, przypisanie uprawnień Zablokuj strony w pamięci do konta usług z uruchomionym serwerem raportów usługi Power BI może pomóc. Aby uzyskać więcej informacji na temat konfigurowania blokady stron w pamięci, zobacz Uprawnienia systemu Windows przypisane do konta usługi Analysis Services.

Masz więcej pytań? Spróbuj zadać Społeczność usługi Power BI