Freigeben über


Partitionen und DirectQuery-Modus (tabellarische SSAS)

In diesem Abschnitt wird erläutert, wie Partitionen in DirectQuery-Modellen verwendet werden. Allgemeine Informationen zu Partitionen in tabellarischen Modellen finden Sie unter Partitionen (SSAS Tabular).For more general information about partitions in tabular models, see Partitions (SSAS Tabular).

Anweisungen zum Ändern der verwendeten Partition oder zum Anzeigen von Informationen zur Partition finden Sie unter Ändern der DirectQuery-Partition (SSAS Tabular).

Verwenden von Partitionen im DirectQuery-Modus

Für jede Tabelle müssen Sie eine einzelne Partition angeben, die als DirectQuery-Datenquelle verwendet werden soll. Wenn mehrere Partitionen vorhanden sind, wird beim Wechseln des Modells zum Aktivieren des DirectQuery-Modus standardmäßig die erste Partition, die in der Tabelle erstellt wurde, als DirectQuery-Partition gekennzeichnet. Sie können dies später ändern, indem Sie den Partitions-Manager in SQL Server Data Tools (SSDT) verwenden.

Warum nur eine einzelne Partition im DirectQuery-Modus zulassen?

In tabellarischen Modellen (wie in OLAP-Modellen) werden die Partitionen einer Tabelle durch SQL-Abfragen definiert. Der Entwickler, der die Partitionsdefinition erstellt, ist dafür verantwortlich, dass Partitionen nicht überlappen. Analysis Services überprüft nicht, ob Datensätze zu einer oder mehreren Partitionen gehören.

Partitionen in einem zwischengespeicherten tabellarischen Modell verhalten sich auf die gleiche Weise. Wenn Sie ein Speichermodell verwenden, während auf den Cache zugegriffen wird, werden DAX-Formeln für jede Partition ausgewertet, und die Ergebnisse werden kombiniert. Wenn ein tabellarisches Modell jedoch den DirectQuery-Modus verwendet, wäre es unmöglich, mehrere Partitionen auszuwerten, die Ergebnisse zu kombinieren und diese in eine SQL-Anweisung zum Senden an den relationalen Datenspeicher zu konvertieren. Dies kann zu einem inakzeptablen Leistungsverlust sowie zu potenziellen Ungenauigkeiten führen, während die Ergebnisse aggregiert werden.

Daher verwendet der Server für Abfragen, die im DirectQuery-Modus beantwortet wurden, eine einzelne Partition, die als primäre Partition für den DirectQuery-Zugriff gekennzeichnet wurde, die als DirectQuery-Partition bezeichnet wurde. Die in der Definition dieser Partition angegebene SQL-Abfrage definiert den vollständigen Satz von Daten, die zum Beantworten von Abfragen im DirectQuery-Modus verwendet werden können.

Wenn Sie keine Partition explizit definieren, gibt das Modul einfach eine SQL-Abfrage an die gesamte relationale Datenquelle aus, führt alle von der DAX-Formel diktierten setbasierten Vorgänge aus und gibt die Abfrageergebnisse zurück.

Wenn Sie über mehrere Partitionen in einer Tabelle verfügen und eine Partition als DirectQuery-Partition auswählen, werden standardmäßig alle anderen Partitionen als nur für die In-Memory-Verwendung markiert.

Partitionen in zwischengespeicherten Modellen und in DirectQuery-Modellen

Wenn Sie eine DirectQuery-Partition konfigurieren, müssen Sie Verarbeitungsoptionen für die Partition angeben.

Es gibt zwei Verarbeitungsoptionen für die DirectQuery-Partition. Verwenden Sie zum Festlegen dieser Eigenschaft den Partitions-Manager in SQL Server Data Tools (SSDT) oder SQL Server Management Studio, und wählen Sie die Eigenschaft "Processing Option " aus. In der folgenden Tabelle sind die Werte dieser Eigenschaft aufgeführt und die Auswirkungen jedes Werts in Kombination mit der DirectQueryUsage-Eigenschaft auf die Verbindungszeichenfolge beschrieben:

DirectQueryUsage-Eigenschaft Processing Option-Eigenschaft Hinweise
Direktabfrage Diese Partition niemals verarbeiten Wenn das Modell nur DirectQuery verwendet, ist die Verarbeitung nie erforderlich.

In Hybridmodellen können Sie die DirectQuery-Partition so konfigurieren, dass sie nie verarbeitet werden soll. Wenn Sie z. B. über einen sehr großen Datensatz arbeiten und nicht möchten, dass die vollständigen Ergebnisse dem Cache hinzugefügt werden, können Sie angeben, dass die DirectQuery-Partition die Vereinigung der Ergebnisse für alle anderen Partitionen in der Tabelle enthält und dann niemals die Union verarbeitet. Abfragen, die zur relationalen Quelle wechseln, sind nicht betroffen, und Abfragen für zwischengespeicherte Daten kombinieren Daten aus den anderen Partitionen.
InMemory mit DirectQuery Die Verarbeitung der Partition erlauben Wenn das Modell den Hybridmodus verwendet, sollten Sie dieselbe Partition für Abfragen für die In-Memory- und Abfragen für die DirectQuery-Datenquelle verwenden.

Siehe auch

Partitionen (SSAS tabellarisch)