Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieses Thema bietet eine Schritt-für-Schritt-Anleitung für den Entwurfs- und Bereitstellungsprozess von DirectQuery-Modellen. Sie können DirectQuery so konfigurieren, dass nur relationale Daten verwendet werden (nur DirectQuery), oder Sie können das Modell so konfigurieren, dass zwischen zwischengespeicherten Daten nur oder nur relationalen Daten (Hybridmodus) gewechselt wird. In diesem Thema wird der Implementierungsprozess für beide Modi erläutert und mögliche Unterschiede in abfrageergebnissen je nach Modus und Sicherheitskonfiguration beschrieben.
Entwurfs- und Bereitstellungsschritte
Vergleich von DirectQuery-Konfigurationen
Entwurfs- und Bereitstellungsschritte
Schritt 1. Erstellen der Lösung
Unabhängig davon, welchen Modus Sie verwenden werden, müssen Sie die Informationen überprüfen, die Einschränkungen für die Daten beschreiben, die in DirectQuery-Modellen verwendet werden können. Beispielsweise müssen alle in Ihrem Modell verwendeten Daten und Berichte aus einer einzigen SQL Server-Datenbank stammen. Weitere Informationen finden Sie unter DirectQuery Mode (SSAS Tabular).
Überprüfen Sie außerdem die Einschränkungen für Measures und berechnete Spalten, und bestimmen Sie, ob die Formeln, die Sie verwenden möchten, mit dem DirectQuery-Modus kompatibel sind. Möglicherweise müssen Sie die folgenden Elemente entfernen oder ändern:
Berechnete Spalten werden nicht unterstützt.
Kopierte Daten können nicht verwendet werden. Wenn Sie ein PowerPivot-Modell importieren, um Ihre Lösung zu starten, müssen Sie verknüpfte Tabellen vor dem Importieren der Lösung löschen, da diese Daten nicht gelöscht werden können und die DirectQuery-Überprüfung blockieren.
Schritt 2. Aktivieren des DirectQuery-Modus im Modell-Designer
DirectQuery ist standardmäßig deaktiviert. Daher müssen Sie die Entwurfsumgebung so konfigurieren, dass der DirectQuery-Modus unterstützt wird.
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Knoten Model.bim und legen Sie die Eigenschaft DirectQuery-Modus auf On fest.
Sie können DirectQuery jederzeit aktivieren; Um jedoch sicherzustellen, dass Sie keine Spalten oder Formeln erstellen, die mit dem DirectQuery-Modus nicht kompatibel sind, empfehlen wir, den DirectQuery-Modus direkt von Anfang an zu aktivieren.
Anfangs werden sogar DirectQuery-Modelle immer im Arbeitsspeicher erstellt. Der Standardabfragemodus für die Arbeitsbereichsdatenbank ist auch auf DirectQuery mit In-Memory festgelegt. Mit diesem Hybridarbeitsmodus können Sie den Cache importierter Daten für eine verbesserte Leistung während des Modellentwurfsprozesses verwenden und gleichzeitig das Modell anhand der DirectQuery-Anforderungen überprüfen.
Schritt 3. Beheben von Überprüfungsfehlern
Wenn Beim Aktivieren von DirectQuery Oder beim Hinzufügen neuer Daten oder Formeln Überprüfungsfehler auftreten, öffnen Sie die Fehlerliste von Visual Studio, und führen Sie dann die erforderlichen Aktionen aus.
Ändern Sie alle erforderlichen Eigenschafteneinstellungen für den DirectQuery-Modus, wie in den Fehlermeldungen beschrieben.
Entfernen Sie berechnete Spalten. Wenn Sie eine berechnete Spalte für ein bestimmtes Measure benötigen, können Sie die Spalte immer mithilfe des relationalen Abfrage-Designers (SSAS) erstellen, der im Tabellenimport-Assistenten bereitgestellt wird.
Ändern oder Entfernen von Formeln, die mit dem DirectQuery-Modus nicht kompatibel sind. Wenn Sie eine bestimmte Funktion für eine Berechnung benötigen, sollten Sie Möglichkeiten in Betracht ziehen, wie Sie mithilfe von Transact-SQL ein entsprechendes Äquivalent bereitstellen können.
Fügen Sie nach Bedarf Daten hinzu. Wenn Ihr Modell zuvor Kopieren-Einfügen-Daten oder Daten von anderen Anbietern als SQL Server verwendet hat, können Sie neue Ansichten und abgeleitete Spalten innerhalb der vorhandenen Verbindung erstellen oder verteilte Abfragen verwenden. Auf alle daten, die in einem DirectQuery-Modell verwendet werden, muss über eine einzelne SQL Server-Datenquelle zugegriffen werden.
Schritt 4. Festlegen der bevorzugten Methode zum Beantworten von Abfragen im Modell
| Nur DirectQuery | Legen Sie die Eigenschaft auf DirectQuery fest. |
| Hybridmodus | Legen Sie die Eigenschaft auf In-Memory Mit DirectQuery oder DirectQuery mit In-Memory fest. Sie können diesen Wert später ändern, um eine andere Einstellung zu verwenden. Beachten Sie, dass Clients die bevorzugte Methode in der Verbindungszeichenfolge überschreiben können. |
Schritt 5. Angeben der DirectQuery-Partition
| Nur DirectQuery-Modus | Wahlfrei. Ein ausschließliches DirectQuery-Modell benötigt keine Partition. Wenn Sie jedoch Partitionen im Modell während der Entwurfsphase erstellt haben, denken Sie daran, dass nur eine Partition als Datenquelle verwendet werden kann. Standardmäßig wird die erste erstellte Partition als DirectQuery-Partition verwendet. Um sicherzustellen, dass alle vom Modell erforderlichen Daten über die DirectQuery-Partition verfügbar sind, wählen Sie eine DirectQuery-Partition aus, und bearbeiten Sie die SQL-Anweisung, um den gesamten Datensatz abzurufen. |
| Hybridmodus | Wenn eine Tabelle in Ihrem Modell über mehrere Partitionen verfügt, müssen Sie eine einzelne Partition als DirectQuery-Partition auswählen. Wenn Sie keine Partition zuweisen, wird standardmäßig die erste erstellte Partition als DirectQuery-Partition verwendet. Legen Sie Verarbeitungsoptionen für alle Partitionen außer directQuery fest. In der Regel wird die DirectQuery-Partition nie verarbeitet, da die Daten aus der relationalen Quelle übergeben werden. Weitere Informationen finden Sie unter Partitionen und DirectQuery-Modus (SSAS Tabular). |
Schritt 6. Konfigurieren des Identitätswechsels
Identitätswechsel wird nur für DirectQuery-Modelle unterstützt. Mit der Identitätswechseloption " Identitätswechseleinstellungen" werden die Anmeldeinformationen definiert, die beim Anzeigen von Daten aus der angegebenen SQL Server-Datenquelle verwendet werden.
| Nur DirectQuery | Geben Sie für die Eigenschaft "Identitätswechseleinstellungen" das Konto an, das zum Herstellen einer Verbindung mit der SQL Server-Datenquelle verwendet wird. Wenn Sie den Wert verwenden, imitateCurrentUser, übergibt die Instanz von Analysis Services, die das Modell hostt, die Anmeldeinformationen des aktuellen Benutzers des Modells an die SQL Server-Datenbank. |
| Hybridmodus | Geben Sie für die Eigenschaft "Impersonation-Einstellungen" das Konto an, das für den Zugriff auf die Daten in der SQL Server-Datenquelle verwendet wird. Diese Einstellung wirkt sich nicht auf die Anmeldeinformationen aus, die zum Verarbeiten des vom Modell verwendeten Caches verwendet werden. |
Schritt 7. Modell bereitstellen
Wenn Sie bereit sind, das Modell bereitzustellen, öffnen Sie das Projektmenü von Visual Studio, und wählen Sie "Eigenschaften" aus. Legen Sie die QueryMode-Eigenschaft auf einen der in der folgenden Tabelle beschriebenen Werte fest:
Weitere Informationen finden Sie unter Bereitstellen über SQL Server Data Tools (SSAS Tabular).
| Nur DirectQuery |
DirectQueryOnly Da Sie nur Direct Query angegeben haben, werden die Metadaten des Modells auf dem Server bereitgestellt, aber das Modell wird nicht verarbeitet. Beachten Sie, dass der von der Arbeitsbereichsdatenbank verwendete Cache nicht automatisch gelöscht wird. Wenn Sie sicherstellen möchten, dass Benutzer die zwischengespeicherten Daten nicht sehen können, sollten Sie den Entwurfszeitcache löschen. Weitere Informationen finden Sie unter Löschen der Analysis Services-Caches. |
| Hybridmodus |
DirectQuery mit In-Memory In-Memory mit DirectQuery Beide Werte ermöglichen die Verwendung des Caches oder der relationalen Datenquelle bei Bedarf. Die Reihenfolge definiert, welche Datenquelle standardmäßig beim Beantworten von Abfragen für das Modell verwendet wird. Im Hybridmodus muss der Cache gleichzeitig verarbeitet werden, während die Modellmetadaten auf dem Server bereitgestellt werden. Sie können diese Einstellung nach der Bereitstellung ändern. |
Schritt 8: Überprüfen des bereitgestellten Modells
Öffnen Sie in SQL Server Management Studio die Instanz von Analysis Services, in der Sie das Modell bereitgestellt haben. Klicken Sie mit der rechten Maustaste auf den Namen der Datenbank, und wählen Sie "Eigenschaften" aus.
Die Eigenschaft DirectQueryMode wurde beim Definieren der Bereitstellungseigenschaften festgelegt.
Die Eigenschaft "Datenquellen-Identitätswechselinformationen" wurde festgelegt, als Sie die Optionen für den Benutzerwechsel definiert haben. Weitere Informationen finden Sie unter Festlegen von Identitätswechseloptionen (SSAS – Multidimensional).
Sie können diese Eigenschaften jederzeit ändern, nachdem das Modell bereitgestellt wurde.
Vergleich von DirectQuery-Optionen
Nur DirectQuery
Diese Option wird bevorzugt, wenn Sie eine einzelne Datenquelle garantieren möchten oder wenn Ihre Daten zu groß sind, um in den Arbeitsspeicher zu passen. Wenn Sie mit einer sehr großen relationalen Datenquelle arbeiten, können Sie während der Entwurfszeit das Modell mithilfe einer Teilmenge der Daten erstellen. Wenn Sie das Modell nur im DirectQuery-Modus bereitstellen, können Sie die Datenquellendefinition bearbeiten, um alle erforderlichen Daten einzuschließen.
Diese Option wird auch bevorzugt, wenn Sie die von der relationalen Datenquelle bereitgestellte Sicherheit verwenden möchten, um den Benutzerzugriff auf Daten zu steuern. Bei zwischengespeicherten tabellarischen Modellen können Sie auch Analysis Services-Rollen verwenden, um den Datenzugriff zu steuern, aber die im Cache gespeicherten Daten müssen ebenfalls gesichert werden. Sie sollten diese Option immer verwenden, wenn Ihr Sicherheitskontext erfordert, dass Daten niemals zwischengespeichert werden sollen.
In der folgenden Tabelle werden die möglichen Bereitstellungsergebnisse für den DirectQuery-Allein-Modus beschrieben.
| DirectQuery ohne Cache | Im Cache werden keine Daten geladen. Das Modell kann nie verarbeitet werden. Das Modell kann nur mithilfe von Clients abgefragt werden, die DAX-Abfragen unterstützen. Abfrageergebnisse werden immer aus der ursprünglichen Datenquelle zurückgegeben. DirectQueryMode = OnQueryMode = DirectQuery |
| DirectQuery mit Nur-Cache-Abfragen | Die Bereitstellung schlägt fehl. Diese Konfiguration wird nicht unterstützt. DirectQueryMode = OnQueryMode = In-Memory |
Hybridmodus
Die Bereitstellung Ihres Modells in einem Hybridmodus bietet viele Vorteile: Sie können bei Bedarf up-to-Datumsdaten aus der SQL Server-Datenquelle abrufen, aber durch die Beibehaltung des Caches können Sie mit Daten im Arbeitsspeicher arbeiten, um eine schnellere Leistung zu erzielen, während Sie Berichte entwerfen oder das Modell testen.
Ein DirectQuery-Hybridmodus ist auch hilfreich, wenn Ihr Modell sehr groß ist. Anstatt dass Benutzer veraltete Daten erhalten oder das Modell nicht verfügbar ist, während der Cache verarbeitet wird, können Sie das Modell während der Verarbeitung in den DirectQuery-Modus wechseln. Benutzer könnten eine etwas langsamere Leistung erleben, aber sie könnten Daten direkt aus dem relationalen Speicher abrufen, um sicherzustellen, dass die Ergebnisse up-toaktuell waren.
In der folgenden Tabelle wird das Bereitstellungsergebnis in den einzelnen Kombinationen von DirectQuery-Optionen verglichen.
| Hybridmodus mit bevorzugtem Cache | Das Modell kann verarbeitet werden, und Daten können in den Cache geladen werden. Abfragen verwenden standardmäßig den Cache. Wenn ein Client die DirectQuery-Quelle verwenden möchte, muss ein Parameter in die Verbindungszeichenfolge eingefügt werden. DirectQueryMode = OnQueryMode = In-Memory mit DirectQuery |
| Hybridmodus mit bevorzugter DirectQuery | Das Modell wird verarbeitet, und Daten können in den Cache geladen werden. Abfragen verwenden DirectQuery jedoch standardmäßig. Wenn ein Client die zwischengespeicherten Daten verwenden möchte, muss ein Parameter in die Verbindungszeichenfolge eingefügt werden. Wenn die Tabellen im Modell partitioniert werden, wird die Prinzipalpartition des Caches auch auf In-Memory mit DirectQuery festgelegt. DirectQueryMode = OnQueryMode = DirectQuery mit In-Memory-Technologie |
Siehe auch
DirectQuery-Modus (SSAS tabellarisch)
Tabellenmodelldatenzugriff