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.
gilt für:
SQL Server Analysis Services
Azure Analysis Services
Fabric/Power BI Premium
Sie können zusätzliche Partitionen für eine Maßgruppierung erstellen, um die Verarbeitungsleistung zu verbessern. Mehrere Partitionen erlauben es Ihnen, Faktendaten über eine entsprechende Anzahl physischer Datendateien auf lokalen sowie Remote-Servern zu verteilen. In Analysis Services können Partitionen unabhängig und parallel verarbeitet werden, wodurch Sie mehr Kontrolle über verarbeitungsworkloads auf dem Server erhalten.
Partitionen können während des Modellentwurfs in SQL Server Data Tools oder nach der Bereitstellung der Lösung mithilfe von SQL Server Management Studio oder XMLA erstellt werden. Es wird empfohlen, nur einen Ansatz auszuwählen. Wenn Sie zwischen Tools wechseln, stellen Sie möglicherweise fest, dass Änderungen, die an einer bereitgestellten Datenbank in SQL Server Management Studio vorgenommen wurden, überschrieben werden, wenn Sie die Lösung anschließend aus SQL Server Data Tools erneut bereitstellen.
Bevor du anfängst
Überprüfen Sie, ob Sie entweder über die Business Intelligence Edition oder die Enterprise Edition verfügen. Standard Edition unterstützt nicht mehrere Partitionen. Um die Edition zu überprüfen, klicken Sie mit der rechten Maustaste auf den Serverknoten in SQL Server Management Studio, und wählen Sie "Berichte | " aus. Weitere Informationen zur Verfügbarkeit von Features finden Sie unter Features, die von den Editionen von SQL Server 2016 unterstützt werden.
Zunächst ist es wichtig zu verstehen, dass Partitionen denselben Aggregationsentwurf gemeinsam nutzen müssen, wenn Sie sie später zusammenführen möchten. Partitionen können nur zusammengeführt werden, wenn sie identische Aggregationsdesigns und Speichermodi aufweisen.
Tipp
Erkunden Sie die Daten in der Datenquellenansicht (Data Source View, DSV), um den Bereich und die Tiefe der Daten zu verstehen, die Sie partitionieren. Wenn Sie z. B. nach Datum partitionieren, können Sie nach einer Datumsspalte sortieren, um die oberen und unteren Begrenzungen der einzelnen Partitionen zu bestimmen.
Auswählen eines Ansatzes
Die wichtigste Überlegung beim Erstellen von Partitionen besteht darin, die Daten zu segmentieren, sodass keine doppelten Zeilen vorhanden sind. Daten müssen in einer und nur einer Partition gespeichert werden, um zu vermeiden, dass Zeilen doppelt gezählt werden. Daher ist es üblich, dass sie nach DATE partitioniert werden, sodass Sie klare Grenzen zwischen jeder Partition definieren können.
Sie können beide Techniken verwenden, um die Faktendaten über mehrere Partitionen zu verteilen. Die folgenden Techniken können zum Segmentieren der Daten verwendet werden.
| Technique | Recommendations |
|---|---|
| Verwenden von SQL-Abfragen zum Segmentieren von Faktendaten | Partitionen können aus SQL-Abfragen stammen. Während der Verarbeitung besteht die SQL-Abfrage darin, die Daten abzurufen. Die WHERE-Klausel der Abfrage stellt den Filter bereit, der die Daten für jede Partition segmentieren soll. Analysis Services generiert die Abfrage für Sie, aber Sie müssen die WHERE-Klausel ausfüllen, um die Daten ordnungsgemäß zu segmentieren. Der Hauptvorteil dieses Ansatzes ist die Einfache, mit der Sie Daten aus einer einzigen Quelltabelle partitionieren können. Wenn alle Quelldaten aus einer großen Faktentabelle stammen, können Sie Abfragen erstellen, die diese Daten in diskrete Partitionen filtern, ohne zusätzliche Datenstrukturen in der Datenquellenansicht (DATA Source View, DSV) erstellen zu müssen. Ein Nachteil besteht darin, dass die Verwendung von Abfragen die Bindung zwischen der Partition und dem DSV unterbricht. Wenn Sie den DSV später im Analysis Services-Projekt aktualisieren, z. B. das Hinzufügen von Spalten zur Faktentabelle, müssen Sie die Abfragen für jede Partition manuell bearbeiten, um die neue Spalte einzuschließen. Der zweite Ansatz, der als Nächstes erörtert wird, hat diesen Nachteil nicht. |
| Verwenden von Tabellen im DSV zum Segmentieren von Faktendaten | Sie können eine Partition an eine Tabelle, benannte Abfrage oder Ansicht im DSV binden. Als Grundlage einer Partition sind alle drei funktional gleichwertig. Die gesamte Tabelle, benannte Abfrage oder Ansicht stellt alle Daten einer einzelnen Partition bereit. Mithilfe einer Tabelle, Ansicht oder benannten Abfrage werden alle Datenauswahllogik in der DSV platziert, die im Laufe der Zeit einfacher verwaltet und verwaltet werden kann. Ein wichtiger Vorteil für diesen Ansatz ist, dass Tabellenbindungen beibehalten werden. Wenn Sie die Quelltabelle später aktualisieren, müssen Sie die Partitionen, die sie verwenden, nicht ändern. Zweitens sind alle Tabellen, benannten Abfragen und Ansichten in einem gemeinsamen Arbeitsbereich vorhanden, wodurch Aktualisierungen bequemer werden, als Partitionsabfragen einzeln öffnen und bearbeiten zu müssen. |
Option 1: Filtern einer Faktentabelle für mehrere Partitionen
Um mehrere Partitionen zu erstellen, ändern Sie zunächst die Source-Eigenschaft der Standardpartition. Standardmäßig wird eine Maßgruppe mithilfe einer einzelnen Partition erstellt, die an eine einzelne Tabelle in der DSV gebunden ist. Bevor Sie weitere Partitionen hinzufügen können, müssen Sie zuerst die ursprüngliche Partition so ändern, dass sie nur einen Teil der Faktendaten enthält. Anschließend können Sie weitere Partitionen zum Speichern der restlichen Daten erstellen.
Erstellen Sie Ihre Filter so, dass Daten nicht unter den Partitionen dupliziert werden. Der Filter einer Partition gibt an, welche Daten in der Faktentabelle in der Partition verwendet werden. Es ist wichtig, dass die Filter für alle Partitionen in einem Cube sich gegenseitig ausschließende Datasets aus der Faktentabelle extrahieren. Die gleichen Faktendaten können doppelt gezählt werden, wenn sie in mehreren Partitionen vorkommen.
Doppelklicken Sie in SQL Server Data Tools im Projektmappen-Explorer auf den Cube, um ihn im Cube-Designer zu öffnen, und klicken Sie dann auf die Registerkarte "Partitionen".
Erweitern Sie die Measure Group, zu der Partitionen hinzugefügt werden. Standardmäßig verfügt jede Measure Group über eine Partition, die an eine Faktentabelle im DSV gebunden ist.
Klicken Sie in der Spalte "Quelle" auf die Schaltfläche "Durchsuchen(.)", um das Dialogfeld "Partitionsquelle" zu öffnen.
Wählen Sie im Bindungstyp die Abfragebindung aus. Die SQL-Abfrage, die die Daten auswählt, wird automatisch angezeigt.
Fügen Sie in der WHERE-Klausel unten einen Filter hinzu, der Daten für diese Partition segmentieren soll.
Beispiele für die WHERE-Klausel-Syntax sind
WHERE OrderDateKey >= '20060101'oderWHERE OrderDateKey BETWEEN '20051001' AND '20051201'. Weitere Beispiele finden Sie unter WHERE (Transact-SQL).Beachten Sie, dass sich die folgenden Filter innerhalb jeder Gruppe gegenseitig ausschließen:
Set Wert Set 1: "Verkaufsjahr" = 2012
"Verkaufsjahr" = 2013Set 2: "Kontinent" = 'NorthAmerica'
"Kontinent" = "Europa"
"Kontinent" = 'SouthAmerica'Set 3: "Country" = 'USA'
"Land" = 'Mexiko'
("Land" <> 'USA' UND "Land" <> 'Mexiko')Klicken Sie auf "Überprüfen ", um auf Syntaxfehler zu überprüfen, und klicken Sie dann auf "OK".
Wiederholen Sie die vorherigen Schritte, um die verbleibenden Partitionen zu erstellen, und ändern Sie die WHERE-Klausel jedes Mal, um das nächste Datensegment auszuwählen.
Stellen Sie die Lösung bereit, oder verarbeiten Sie die Partition, um die Daten zu laden. Stellen Sie sicher, dass alle Partitionen verarbeitet werden.
Durchsuchen Sie den Cube, um zu überprüfen, ob die richtigen Daten zurückgegeben werden.
Nachdem Sie über eine Measuregruppe verfügen, die mehrere Measuregruppen verwendet, können Sie zusätzliche Partitionen in SQL Server Management Studio erstellen. Klicken Sie unter einer Maßgruppe mit der rechten Maustaste auf den Ordner "Partitionen", und wählen Sie "Neue Partitionen" aus, um den Assistenten zu starten.
Hinweis
Anstatt Daten in einer Partition zu filtern, können Sie dieselbe Abfrage verwenden, um eine Namensabfrage in der DSV zu erstellen und dann die Partition auf der benannten Abfrage zu basieren.
Option 2: Verwenden von Tabellen, Ansichten oder benannten Abfragen
Wenn der DSV bereits Fakten in einzelne Tabellen (z. B. nach Jahr oder Quartal) organisiert, können Sie Partitionen basierend auf einer einzelnen Tabelle erstellen, in der jede Partition über eine eigene Datenquellentabelle verfügt. Dies ist im Wesentlichen, wie Measuregruppen standardmäßig partitioniert werden, aber im Falle mehrerer Partitionen brechen Sie die ursprüngliche Partition in mehrere Partitionen auf, und ordnen Sie jede neue Partition der Datenquellentabelle zu, die die Daten bereitstellt.
Ansichten und benannte Abfragen sind funktionell gleichbedeutend mit Tabellen, da alle drei Objekte im DSV definiert und mithilfe der Option "Tabellenbindung" im Dialogfeld "Partitionsquelle" an eine Partition gebunden sind. Sie können eine Ansicht oder benannte Abfrage erstellen, um das für jede Partition erforderliche Datensegment zu generieren. Weitere Informationen finden Sie unter Definieren benannter Abfragen in einer Datenquellenansicht (Analysis Services).
Von Bedeutung
Wenn Sie sich gegenseitig ausschließende benannte Abfragen für Partitionen in einem DSV erstellen, stellen Sie sicher, dass die kombinierten Daten für die Partitionen alle Daten aus einer Measuregruppe enthalten, die Sie in den Cube aufnehmen möchten. Stellen Sie sicher, dass Sie keine Standardpartition auf Grundlage der gesamten Tabelle für die Messgruppe belassen, oder die abfragebasierten Partitionen überlappen die Abfrage, die auf der vollständigen Tabelle basiert.
Erstellen Sie eine oder mehrere benannte Abfragen, die als Partitionsquelle verwendet werden sollen. Weitere Informationen finden Sie unter Definieren benannter Abfragen in einer Datenquellenansicht (Analysis Services).
Die benannte Abfrage muss auf der Faktentabelle basieren, die der Messgruppe zugeordnet ist. Wenn Sie beispielsweise die Measuregruppe "FactInternetSales" partitionieren, müssen die benannten Abfragen im DSV die Tabelle "FactInternetSales" in der FROM-Anweisung angeben.
Doppelklicken Sie in SQL Server Data Tools im Projektmappen-Explorer auf den Cube, um ihn im Cube-Designer zu öffnen, und klicken Sie dann auf die Registerkarte "Partitionen".
Erweitern Sie die Measuregruppe, für die Sie Partitionen hinzufügen.
Klicken Sie auf "Neue Partition" , um den Partitions-Assistenten zu starten. Wenn Sie die benannten Abfragen mithilfe der Faktentabelle erstellt haben, die an die Measuregruppe gebunden ist, sollte jede der benannten Abfragen angezeigt werden, die Sie im vorherigen Schritt erstellt haben.
Wählen Sie in "Quellinformationen angeben" eine der benannten Abfragen aus, die Sie in einem vorherigen Schritt erstellt haben. Wenn keine benannten Abfragen angezeigt werden, wechseln Sie zurück zum DSV, und überprüfen Sie die FROM-Anweisung.
Klicken Sie auf "Weiter" , um die Standardwerte für jede nachfolgende Seite zu übernehmen.
Geben Sie auf der letzten Seite nach Abschluss des Assistenten der Partition einen beschreibenden Namen.
Klicken Sie auf Fertig stellen.
Wiederholen Sie die vorherigen Schritte, um die verbleibenden Partitionen zu erstellen, und wählen Sie jedes Mal eine andere benannte Abfrage aus, um das nächste Datensegment auszuwählen.
Stellen Sie die Lösung bereit, oder verarbeiten Sie die Partition, um die Daten zu laden. Stellen Sie sicher, dass alle Partitionen verarbeitet werden.
Durchsuchen Sie den Cube, um zu überprüfen, ob die richtigen Daten zurückgegeben werden.
Nächster Schritt
Wenn Sie sich gegenseitig ausschließende Abfragen für Partitionen erstellen, stellen Sie sicher, dass die kombinierten Partitionsdaten alle Daten enthalten, die Sie in den Cube aufnehmen möchten.
Als letzten Schritt möchten Sie normalerweise die Standardpartition entfernen, die auf der Tabelle selbst basiert (sofern sie noch vorhanden ist), oder die abfragebasierten Partitionen überlappen die Abfrage basierend auf der vollständigen Tabelle.
Siehe auch
Partitionen (Analysis Services - Multidimensionale Daten)
Remote-Partitionen
Zusammenführen von Partitionen in Analysis Services (SSAS – Multidimensional)