Aktivieren des DirectQuery-Modus in SSMS

Gilt für: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Sie können die Datenzugriffseigenschaften eines bereits bereitgestellten tabellarischen Modells ändern, wodurch der DirectQuery-Modus aktiviert wird, in dem Abfragen für eine relationale Back-End-Datenquelle anstelle von zwischengespeicherten Daten ausgeführt werden, die sich im Arbeitsspeicher befinden.

Wichtig

Es wird empfohlen, den Tabellarischen Modell-Designer in Visual Studio anstelle von SQL Server Management Studio (SSMS) zu verwenden, um den Datenspeichermodus zu wechseln. Wenn Sie Visual Studio verwenden, um den Modellmodus zu ändern, und anschließend die Bereitstellung auf dem Server durchführen, bleiben das Modell und die Datenbank synchron. Darüber hinaus können Sie beim Ändern der Speichermodi im Modell alle auftretenden Validierungsfehler überprüfen. Bei verwendung von SSMS, wie in diesem Artikel beschrieben, werden keine Validierungsfehler gemeldet.

Anforderungen

Das Aktivieren des DirectQuery-Modus für ein tabellarisches Modell ist ein mehrstufiger Prozess:

  • Stellen Sie sicher, dass das Modell keine Features aufweist, die im DirectQuery-Modus zu Validierungsfehlern führen können, und ändern Sie dann den Datenspeichermodus für das Modell von In-Memory in DirectQuery.

    Eine Liste der Featureeinschränkungen ist im DirectQuery-Modus dokumentiert.

  • Überprüfen Sie die Verbindungszeichenfolge und Anmeldeinformationen, die von der bereitgestellten Datenbank zum Abrufen von Daten aus der externen Back-End-Datenbank verwendet werden. Stellen Sie sicher, dass es nur eine Verbindung gibt, und dass die Einstellungen für die Ausführung von Abfragen geeignet sind.

    Tabellarische Datenbanken, die speziell für DirectQuery entworfen wurden, haben möglicherweise mehrere Verbindungen, die jetzt für den DirectQuery-Modus entsprechend auf eine reduziert werden müssen.

    Anmeldeinformationen, die ursprünglich für die Verarbeitung von Daten verwendet wurden, werden jetzt zum Abfragen von Daten verwendet. Im Rahmen der DirectQuery-Konfiguration müssen Sie das Konto überprüfen und möglicherweise ändern, wenn Sie für bestimmte Vorgänge verschiedene Konten verwenden.

    Der DirectQuery-Modus ist das einzige Szenario, in dem Analysis Services die vertrauenswürdige Delegierung durchführt. Wenn Ihre Lösung die Delegierung zum Abrufen benutzerspezifischer Ergebnisse benötigt, muss das Konto, mit dem eine Verbindung mit der Back-End-Datenbank hergestellt wird, die Identität des Benutzers delegieren können, der die Anforderung stellt. Außerdem benötigen Benutzeridentitäten die Leseberechtigung für die Back-End-Datenbank.

  • Bestätigen Sie im letzten Schritt , dass der DirectQuery-Modus betriebsbereit ist, indem Sie eine Abfrage ausführen.

Wechseln zum DirectQuery-Modus

  1. Klicken Sie in Objekt-Explorer mit der rechten Maustaste auf denStandardmodus der Datenbankeigenschaftenmodell>>>.

  2. Legen Sie den Modus auf DirectQuery fest.

    Gültige Werte Beschreibung
    DirectQuery Abfragen werden auf eine relationale Back-End-Datenbank angewendet, wofür die für das Modell definierte Datenquellenverbindung verwendet wird.

    Abfragen des Modells werden in native Datenbankabfragen konvertiert und an die Datenquelle umgeleitet.

    Bei der Verarbeitung eines Modells im DirectQuery-Modus werden nur Metadaten kompiliert und bereitgestellt. Die Daten selbst befinden sich außerhalb des Modells in den Datenbankdateien der betriebsbereiten Datenquelle.
    Importieren Abfragen werden auf die tabellarische Datenbank in MDX oder DAX angewendet.

    Wenn Sie einen Modellsatz im Importmodus verarbeiten, werden Daten aus einer Back-End-Datenquelle abgerufen und auf dem Datenträger gespeichert. Beim Laden der Datenbank werden die Daten vollständig in den Arbeitsspeicher geladen, um sehr schnelle Tabellenscans und Abfragen zu ermöglichen.

    Dies ist der Standardmodus für tabellarische Modelle und der einzige Modus für bestimmte (nicht relationale) Datenquellen.
    Dual Ermöglicht sowohl Import als auch DirectQuery. Dieser Modus wird in Azure Analysis Services oder Power BI Premium nicht unterstützt.

Überprüfen der Verbindungseigenschaften

Abhängig davon, wie die Datenquellenverbindung eingerichtet ist, kann sich beim Umschalten zu DirectQuery der Sicherheitskontext der Verbindung ändern. Überprüfen Sie beim Ändern des Datenzugriffsmodus die Identitätswechsel- und Verbindungszeichenfolgen-Eigenschaften, um festzustellen, ob die Anmeldung für fortlaufende Verbindungen mit der Back-End-Datenbank gültig ist.

Überprüfen Sie unter Konfigurieren von Analysis Services für die eingeschränkte Kerberos-Delegierung den Abschnitt Konfigurieren von Analysis Services für die vertrauenswürdige Delegierung auf Hintergrundinformationen zur Delegierung einer Benutzeridentität für DirectQuery-Szenarios.

  1. Klappen Sie im Objekt-Explorer Verbindungen auf, und doppelklicken Sie auf eine Verbindung, um ihre Eigenschaften anzuzeigen.

    Für DirectQuery-Modelle darf es nur eine für die Datenbank definierte Verbindung geben. Außerdem muss die Datenquelle relational sein und einen unterstützten Datenbanktyp haben. Weitere Informationen finden Sie unter Unterstützte Datenquellen.

  2. DieVerbindungszeichenfolge muss den Server, Datenbanknamen und die Authentifizierungsmethode angeben, die für DirectQuery-Vorgänge verwendet werden. Wenn Sie die SQL Server-Authentifizierung verwenden, können Sie hier die Datenbankanmeldung angeben.

  3. DieIdentitätswechselinformationen werden für die Windows-Authentifizierung verwendet. Die folgenden Optionen sind für tabellarische Modelle im DirectQuery-Modus gültig:

    • Verwenden Sie das Dienstkonto. Sie können diese Option wählen, wenn das Analysis Services-Dienstkonto über Leseberechtigungen für die relationale Datenbank verfügt.

    • Verwenden Sie einen bestimmten Benutzernamen und ein bestimmtes Kennwort. Geben Sie ein Windows-Benutzerkonto an, das über Leseberechtigungen für die relationale Datenbank verfügt.

Diese Anmeldeinformationen werden nur zum Beantworten von Abfragen des relationalen Datenspeichers verwendet. Sie sind nicht mit den Anmeldeinformationen für die Verarbeitung des Caches eines Hybridmodells identisch.

Identitätswechsel kann nicht verwendet werden, wenn das Modell nur innerhalb des Arbeitsspeichers verwendet wird. Die Einstellung ImpersonateCurrentUserist ungültig, sofern das Modell nicht den DirectQuery-Modus verwendet.

Überprüfen des DirectQuery-Zugriffs

  1. Starten Sie in Management Studio bei bestehender Verbindung mit der relationalen Datenbank in SQL Server eine Ablaufverfolgung mithilfe von SQL Server Profiler oder xEvents.

    Wenn Sie mit Oracle oder Teradata arbeiten, verwenden Sie die Ablaufverfolgungstools dieser Systeme.

  2. Führen Sie in Management Studio eine einfache MDX-Abfrage, wie z.B. select <some measure> on 0 from model., aus.

  3. Die Ablaufverfolgung sollte zeigen, dass die Abfrage auf die relationale Datenbank angewendet wurde.

Weitere Informationen

Kompatibilitätsgrad
Unterstützte Datenquellen
Erweiterte Ereignisse