Analysieren der Abfrageverarbeitung für Direct Lake-Semantikmodelle

Power BI-Semantikmodelle im Direct Lake-Modus lesen Delta-Tabellen direkt aus OneLake – es sei denn, sie müssen in den DirectQuery-Modus zurückkehren. Typische Fallback-Gründe sind Arbeitsspeicherauslastungen, die das Laden von Spalten verhindern können, die für die Verarbeitung einer DAX-Abfrage erforderlich sind. Bestimmte Features an der Datenquelle unterstützen den Direct Lake-Modus möglicherweise nicht, wie z. B. SQL-Ansichten in einem Warehouse und Lakehouse. Im Allgemeinen bietet Direct Lake Modus die beste DAX-Abfrageleistung, es sei denn, es ist ein Fallback auf den DirectQuery-Modus erforderlich. Da sich das Zurückfallen auf den DirectQuery-Modus auf die DAX-Abfrageleistung auswirken kann, ist es wichtig, die Abfrageverarbeitung für ein Direct Lake-Semantikmodell zu analysieren, um zu ermitteln, ob und wie oft Fallbacks auftreten.

Analysieren mithilfe der Leistungsanalyse

Die Leistungsanalyse kann einen schnellen und einfachen Überblick darüber bieten, wie ein Visual eine Datenquelle abfragt und wie viel Zeit zum Rendern eines Ergebnisses benötigt wird.

  1. Starten Sie Power BI Desktop. Wählen Sie auf dem Startbildschirm Neu>Bericht aus.

  2. Wählen Sie im Menüband Daten abrufen und dann Power BI-Semantikmodelle aus.

  3. Wählen Sie auf der Seite OneLake Data Hub das Direct Lake-Semantikmodell aus, mit dem Sie eine Verbindung herstellen möchten, und wählen Sie dann Verbinden aus.

  4. Platzieren Sie ein Kartenvisual auf dem Berichtsbereich, wählen Sie eine Datenspalte aus, um einen einfachen Bericht zu erstellen, und wählen Sie dann im Menü Ansicht die Leistungsanalyse aus.

    Screenshot: Bereich „Leistungsanalyse“.

  5. Wählen Sie im Bereich Leistungsanalyse die Option Aufzeichnung starten aus.

    Screenshot: Befehl zum Starten der Aufzeichnung in der Leistungsanalyse.

  6. Wählen Sie im Bereich Leistungsanalyse die Option Visuals aktualisieren aus, und erweitern Sie dann das Kartenvisual. Das Kartenvisual verursacht keine DirectQuery-Verarbeitung, was darauf hinweist, dass das Semantikmodell die DAX-Abfragen des Visuals im Direct Lake Modus verarbeiten konnte.

    Wenn das Semantikmodell zurück in den DirectQuery-Modus wechselt, um die DAX-Abfrage des Visuals zu verarbeiten, wird eine Leistungsmetrik für die Direkte Abfrage angezeigt, wie in der folgenden Abbildung gezeigt:

    Screenshot: Leistungsmetrik „Direct Query“.

Analysieren mit SQL Server Profiler

SQL Server Profiler kann weitere Details zur Abfrageleistung bereitstellen, indem Abfrageereignisse nachverfolgt werden. Es wird mit SQL Server Management Studio (SSMS) installiert. Bevor Sie beginnen, stellen Sie sicher, dass die neueste Version von SSMS installiert ist.

  1. Starten Sie SQL Server Profiler über das Windows-Menü.

  2. Wählen Sie im SQL Server Profiler die Option Datei>Neue Ablaufverfolgung aus.

  3. Wählen Sie unter Mit Server verbinden>Servertyp die Option Analysis Services aus. Geben Sie dann unter Servername die URL zu Ihrem Arbeitsbereich ein, wählen Sie eine Authentifizierungsmethode aus, und geben Sie schließlich einen Benutzernamen ein, um sich beim Arbeitsbereich anzumelden.

    Screenshot: Dialogfeld „Mit Server verbinden“ in SQL Server Profiler.

  4. Klicken Sie auf Optionen. Geben Sie unter Verbindung mit Datenbank herstellen den Namen Ihres Semantikmodells ein, und wählen Sie dann Verbinden aus. Melden Sie sich bei Microsoft Entra ID an.

    Screenshot: Datenbankname, der im Feld „Mit Datenbank verbinden“ angegeben wurde.

  5. Aktivieren Sie unter Überwachungseigenschafte>Ereignisauswahl das Kontrollkästchen Alle Ereignisse anzeigen.

    Screenshot: Ereignisauswahl – Kontrollkästchen „Alle Ereignisse anzeigen“.

  6. Scrollen Sie zu Abfrageverarbeitung, und aktivieren Sie dann die Kontrollkästchen für die folgenden Ereignisse:

    Ereignis BESCHREIBUNG
    DirectQuery_Begin
    DirectQuery_End
    Wenn DirectQuery Begin/End-Ereignisse in der Ablaufverfolgung angezeigt werden, ist das Semantikmodell möglicherweise in den DirectQuery-Modus zurückgefallen. Beachten Sie jedoch, dass das Vorhandensein von EngineEdition-Abfragen und möglicherweise Abfragen zum Überprüfen der Sicherheit auf Objektebene (Object-level Security, OLS) kein Fallback darstellt, da die Engine immer den DirectQuery-Modus für diese Überprüfungen, die keine Abfrageverarbeitung betreffen, verwendet.
    VertiPaq_SE_Query_Begin
    VertiPaq_SE_Query_Cache_Match
    VertiPaq_SE_Query_Cache_Miss
    VertiPaq_SE_Query_End
    Die Ereignisse der VertiPaq-Speicher-Engine (SE) im Direct Lake-Modus sind identisch mit denen für den Importmodus.

    Diese sollte wie folgt aussehen:

    Screenshot: Ausgewählte Abfrageverarbeitungsereignisse im SQL Server Profiler.

  7. Ausführen auswählen. Erstellen Sie in Power BI Desktop einen neuen Bericht, oder interagieren Sie mit einem vorhandenen Bericht, um Abfrageereignisse zu generieren. Überprüfen Sie den SQL Server Profiler-Ablaufverfolgungsbericht auf Abfrageverarbeitungsereignisse.

    Die folgende Abbildung zeigt ein Beispiel für Abfrageverarbeitungsereignisse einer DAX-Abfrage. In dieser Ablaufverfolgung geben die Ereignisse der VertiPaq-Speicher-Engine (SE) an, dass die Abfrage im Direct Lake-Modus verarbeitet wurde. Screenshot: Abfrageverarbeitungsereignisse im SQL Server Profiler.