Freigeben über


Partitionen und DirectQuery-Modus (SSAS – tabellarisch)

In diesem Abschnitt wird erläutert, wie Partitionen in DirectQuery-Modellen verwendet werden. Allgemeinere Informationen zu Partitionen in Tabellenmodellen finden Sie unter Partitionen (SSAS – tabellarisch).

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

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, wenn Sie das Modell wechseln, um den DirectQuery-Modus zu aktivieren, wird die erste Partition, die in der Tabelle erstellt wurde, standardmäßig als DirectQuery-Partition gekennzeichnet. Dies kann später mit dem Partitions-Manager in SQL Server-Datentools (SSDT) geändert werden.

Warum soll im DirectQuery-Modus nur eine einzelne Partition zulässig sein?

In Tabellenmodellen werden (ebenso wie in OLAP-Modellen) die Partitionen einer Tabelle von SQL-Abfragen definiert. Der Entwickler, der die Partitionsdefinition erstellt, muss gewährleisten, dass sich Partitionen nicht überschneiden. Über Analysis Services wird nicht überprüft, ob Datensätze zu einer oder mehreren Partitionen gehören.

Partitionen in einem zwischengespeicherten Tabellenmodell verhalten sich ebenso. Wenn Sie ein Modell im Arbeitsspeicher verwenden, während auf den Cache zugegriffen wird, werden DAX-Formeln für jede Partition ausgewertet, und die Ergebnisse werden kombiniert. Wenn jedoch bei einem Tabellenmodell der DirectQuery-Modus verwendet wird, ist es nicht möglich, mehrere Partitionen auszuwerten, die Ergebnisse zu kombinieren und sie zum Senden an den relationalen Datenspeicher in eine SQL-Anweisung zu konvertieren. Dies könnte zu einem nicht akzeptablen Leistungsverlust sowie zu möglichen Ungenauigkeiten führen, wenn die Ergebnisse aggregiert werden.

Deshalb wird für im DirectQuery-Modus beantwortete Abfragen auf dem Server eine einzelne Partition verwendet, die als primäre Partition für DirectQuery-Zugriff, auch DirectQuery-Partition genannt, markiert wurde. Die in der Definition dieser Partition angegebene SQL-Abfrage definiert den vollständigen Satz von Daten, mit denen Abfragen im DirectQuery-Modus beantwortet werden können.

Wenn Sie eine Partition nicht explizit definieren, gibt das Modul lediglich eine SQL-Abfrage an die gesamte relationale Datenquelle aus, führt alle satzbasierten Vorgänge aus, die gemäß DAX-Formel vorgeschrieben sind, und gibt die Abfrageergebnisse zurück.

Wenn Sie mehrere Partitionen in einer Tabelle haben und Sie eine Partition als DirectQuery-Partition auswählen, werden alle anderen Partitionen standardmäßig als nur für arbeitsspeicherinterne Verwendung vorgesehen markiert.

Partitionen in zwischengespeicherten Modellen und DirectQuery-Modellen

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

Zwei Verarbeitungsoptionen stehen für die DirectQuery-Partition zur Verfügung. Um diese Eigenschaft festzulegen, verwenden Sie den Partitions-Manager in SQL Server-Datentools (SSDT) oder SQL Server Management Studio, und wählen Sie die Eigenschaft Verarbeitungsoption aus. In der folgenden Tabelle sind die Werte dieser Eigenschaft aufgeführt. Außerdem sind die Auswirkungen jedes einzelnen Werts für den Fall beschrieben, dass ein Wert mit der DirectQueryUsage-Eigenschaft in der Verbindungszeichenfolge kombiniert wird:

Eigenschaft DirectQueryUsage

Eigenschaft Verarbeitungsoption

Hinweise

DirectQuery

Kein Verarbeiten dieser Partition

Wenn das Modell ausschließlich DirectQuery verwendet, ist eine Verarbeitung niemals notwendig.

In Hybridmodellen können Sie die DirectQuery-Partition so konfigurieren, dass sie niemals verarbeitet wird. Beispiel: Wenn Sie ein sehr großes Dataset verwenden und dem Cache nicht die vollständigen Ergebnisse hinzufügen möchten, können Sie angeben, dass die DirectQuery-Partition die Vereinigung der Ergebnisse für alle anderen Partitionen in der Tabelle enthalten und dass niemals eine Verarbeitung stattfinden soll. Abfragen, die an die relationale Quelle gerichtet werden, sind nicht betroffen, und in Abfragen für zwischengespeicherte Daten werden Daten aus den anderen Partitionen kombiniert.

InMemory mit DirectQuery

Verarbeitung von Partitionen zulassen

Wenn beim Modell der Hybridmodus verwendet wird, sollten Sie für Abfragen gegen den In-Memory-Cache und für Abfragen gegen die relationale Datenquelle die gleiche Partition verwenden.

Siehe auch

Konzepte

Partitionen (SSAS – tabellarisch)