Udostępnij za pośrednictwem


Analizowanie przetwarzania zapytań dla modeli semantycznych usługi Direct Lake

Modele semantyczne usługi Power BI w trybie Direct Lake odczytują tabele Delta bezpośrednio z OneLake — chyba że muszą przełączyć się na tryb DirectQuery. Typowe powody awaryjne obejmują presję pamięci, która może uniemożliwić ładowanie kolumn wymaganych do przetworzenia zapytania języka DAX, a pewne funkcje źródła danych mogą nie obsługiwać trybu Direct Lake, na przykład widoki SQL w magazynach i Lakehouse. Ogólnie rzecz biorąc, tryb Direct Lake zapewnia najlepszą wydajność zapytań języka DAX, chyba że konieczne jest powrót do trybu DirectQuery. Ponieważ przejście do trybu DirectQuery może wpływać na wydajność zapytań DAX, ważne jest, aby analizować przetwarzanie zapytań dla semantycznego modelu Direct Lake, aby określić, czy i jak często występują tego rodzaju przejścia.

Analizowanie przy użyciu analizatora wydajności

Analizator wydajności może zapewnić szybki i łatwy wgląd w sposób, w jaki wizualizacja wykonuje zapytania względem źródła danych i ile czasu zajmuje renderowanie wyniku.

  1. Uruchom program Power BI Desktop. Na ekranie uruchamiania wybierz pozycję Nowy raport>.

  2. Wybierz pozycję Pobierz dane na wstążce, a następnie wybierz modele semantyczne Power BI.

  3. Na stronie centrum danych OneLake wybierz model semantyczny Direct Lake, z którym chcesz nawiązać połączenie, a następnie wybierz pozycję Connect.

  4. Umieść wizualizację karty na kanwie raportu, wybierz kolumnę danych, aby utworzyć raport podstawowy, a następnie w menu View wybierz pozycję Analizator wydajności.

    Zrzut ekranu przedstawiający okienko Analizator wydajności.

  5. W okienku analizatora wydajności wybierz pozycję Rozpocznij nagrywanie.

    Zrzut ekranu przedstawiający polecenie umożliwiające rozpoczęcie rejestrowania w analizatorze wydajności.

  6. W okienku Analizator wydajności wybierz pozycję Odśwież wizualizacje, a następnie rozwiń wizualizację Karta. Wizualizacja karty nie powoduje żadnego przetwarzania DirectQuery, co wskazuje, że model semantyczny był w stanie przetworzyć zapytania DAX dotyczące wizualizacji w trybie Direct Lake.

    Jeśli model semantyczny powróci do trybu DirectQuery w celu przetworzenia zapytania języka DAX wizualizacji, zostanie wyświetlona zapytanie bezpośrednie metryki wydajności, jak pokazano na poniższej ilustracji:

    Zrzut ekranu przedstawiający metryki wydajności zapytań bezpośrednich.

Analizowanie przy użyciu programu SQL Server Profiler

Program SQL Server Profiler może podać więcej szczegółów na temat wydajności zapytań przez śledzenie zdarzeń zapytań. Jest on instalowany przy użyciu programu SQL Server Management Studio (SSMS). Przed rozpoczęciem upewnij się, że masz zainstalowaną najnowszą wersję programu SSMS.

  1. Uruchom program SQL Server Profiler z menu systemu Windows.

  2. W programie SQL Server Profiler wybierz opcję File>New Trace.

  3. W Połącz z serwerem>typ serwera, wybierz pozycję Analysis Services, a następnie w Nazwa serwera, wprowadź adres URL obszaru roboczego. Wybierz metodę uwierzytelniania, po czym wprowadź nazwę użytkownika, aby zalogować się do obszaru roboczego.

    zrzut ekranu przedstawiający okno dialogowe Łączenie z serwerem w programie SQL Server Profiler.

  4. Wybierz opcje . W Connect do bazy danychwprowadź nazwę swojego modelu semantycznego, a następnie wybierz Connect. Zaloguj się do identyfikatora Entra firmy Microsoft.

    Zrzut ekranu przedstawiający nazwę bazy danych określoną w polu Połącz z bazą danych.

  5. W właściwościach śledzenia>, zaznacz pole wyboru Pokaż wszystkie zdarzenia.

    Zrzut ekranu opcji zdarzeń – pole wyboru Pokaż wszystkie zdarzenia.

  6. Przewiń do przetwarzania zapytań, a następnie zaznacz pola wyboru dla następujących zdarzeń:

    Zdarzenie Opis
    DirectQuery_Begin
    DirectQuery_End
    Jeśli zdarzenia początek/koniec zapytania bezpośredniego pojawią się w śladzie, model semantyczny może powrócić do trybu DirectQuery. Należy jednak pamiętać, że obecność zapytań EngineEdition i ewentualnie zapytań w celu sprawdzenia Object-Level Security (OLS) nie oznacza mechanizmu rezerwowego, ponieważ aparat zawsze używa trybu DirectQuery do tych kontroli niezwiązanych z przetwarzaniem zapytań.
    VertiPaq_SE_Query_Begin
    VertiPaq_SE_Query_Cache_Match
    VertiPaq_SE_Query_Cache_Miss
    VertiPaq_SE_Query_End
    Zdarzenia w trybie Direct Lake dla aparatu magazynowania VertiPaq (SE) są takie same jak w trybie importu.

    Powinien wyglądać następująco:

    Zrzut ekranu przedstawiający wybrane zdarzenia przetwarzania zapytań w programie SQL Server Profiler.

  7. Wybierz pozycję Uruchom. W programie Power BI Desktop utwórz nowy raport lub wejdź w interakcję z istniejącym raportem, aby generować zdarzenia zapytań. Przejrzyj raport śledzenia profilera programu SQL Server pod kątem zdarzeń przetwarzania zapytań.

    Na poniższej ilustracji przedstawiono przykład zdarzeń przetwarzania zapytań dla zapytania języka DAX. W tym prześledzeniu zdarzenia silnika przechowywania VertiPaq (SE) wskazują, że zapytanie zostało przetworzone w trybie Direct Lake. Zrzut ekranu przedstawiający zdarzenia przetwarzania zapytań w programie SQL Server Profiler.