Definieren von Partitionen im DirectQuery-Modellen

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

In diesem Artikel wird beschrieben, wie Partitionen in DirectQuery-Modellen verwendet werden. Weitere allgemeine Informationen zu Partitionen in tabellarischen Modellen finden Sie unter Partitionen in tabellarischen Modellen.

Hinweis

Während eine Tabelle mehrere Partitionen aufweisen kann, kann im DirectQuery-Modus nur eine davon für die Verwendung bei der Abfrageausführung festgelegt werden. Die Anforderung einer einzelnen Partition gilt für DirectQuery-Modelle in allen Kompatibilitätsgraden.

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. Sie können dies später ändern, indem Sie den Partitions-Manager im Designer für tabellarische Modelle in Visual Studio verwenden.

Warum soll im DirectQuery-Modus nur eine einzelne Partition zulässig sein? In tabellarischen Modellen (wie in OLAP-Modellen) werden die Partitionen einer Tabelle durch PowerQuery M-Abfragen oder 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.

Aus diesem Grund verwendet der Server für im DirectQuery-Modus beantwortete Abfragen eine einzelne Partition, die als primäre Partition für DirectQuery-Zugriff markiert wurde und als DirectQuery-Partitionbezeichnet wird. Die in der Definition dieser Partition angegebene SQL-Abfrage definiert den vollständigen Satz der Daten, die zur Beantwortung von Abfragen im DirectQuery-Modus verwendet werden können.

Wenn Sie eine Partition nicht explizit definieren, gibt die Engine 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.

Ändern einer DirectQuery-Partition

Da nur eine Partition in einer Tabelle als DirectQuery-Partition festgelegt werden kann, verwendet Analysis Services standardmäßig die erste Partition, die in der Tabelle erstellt wurde. Während der Modellprojekterstellung können Sie die DirectQuery-Partition mithilfe des Partitions-Managers ändern. Bei bereitgestellten Modellen können Sie die DirectQuery-Partition mithilfe von SQL Server Management Studio ändern.

Ändern der DirectQuery-Partition für ein tabellarisches Modellprojekt

  1. Klicken Sie in Visual Studio im Modell-Designer auf die Tabelle (Registerkarte), die die partitionierte Tabelle enthält.

  2. Klicken Sie aufTabellenpartitionen>für Erweiterungen>.

  3. Im Partitions-Managerwird die Partition, die die aktuelle Partition für direkte Abfragen ist, durch das Präfix (DirectQuery) für den Partitionsnamen angegeben.

    Wählen Sie eine andere Partition in der Liste Partitionen aus, und klicken Sie dann auf Als DirectQuery festlegen. Die Schaltfläche Als DirectQuery festlegen wird bei Auswahl der aktuellen DirectQuery-Partition nicht aktiviert, und sie ist nicht sichtbar, wenn das Modell nicht für den DirectQuery-Modus aktiviert wurde.

Ändern der DirectQuery-Partition für ein bereitgestelltes tabellarisches Modell

  1. Öffnen Sie in SQL Server Management Studio die Modelldatenbank in Objekt-Explorer.

  2. Erweitern Sie den Knoten Tabellen , klicken Sie mit der rechten Maustaste auf die partitionierte Tabelle, und wählen Sie Partitionenaus.

    Die Partition, die für die Verwendung mit dem DirectQuery-Modus festgelegt ist, besitzt das Präfix (DirectQuery) für den Partitionsnamen.

  3. Um zu einer anderen Partition zu wechseln, klicken Sie auf der Symbolleiste auf das Symbol für DirectQuery , um das Dialogfeld DirectQuery-Partition festlegen zu öffnen. Das Symbol für DirectQuery auf der Symbolleiste ist nicht verfügbar für Modelle, für die DirectQuery nicht aktiviert wurde.)

  4. Wählen Sie eine andere Partition in der Dropdownliste Partitionsname aus, und ändern Sie ggf. die Verarbeitungsoptionen für die Partition.

Weitere Informationen

Partitionen