Freigeben über


Planungsrichtlinie für partitionierte Tabellen und Indizes

Sie müssen die Erstellung folgender Datenbankobjekte planen, bevor Sie eine Tabelle oder einen Index partitionieren:

  • Partitionsfunktion

  • Partitionsschema

Eine Partitionsfunktion definiert, wie die Zeilen einer Tabelle oder eines Index basierend auf den Werten bestimmter Spalten, den so genannten Partitionierungsspalten, einem Satz von Partitionen zugeordnet werden.

Ein Partitionierungsschema ordnet die durch die Partitionsfunktion angegebenen Partitionen jeweils einer Dateigruppe zu.

Planen der Partitionsfunktion

Beim Planen einer Partitionsfunktion sollten zwei Faktoren berücksichtigt werden: die Spalte, durch deren Werte bestimmt wird, wie eine Tabelle partitioniert wird (die so genannte Partitionierungsspalte), und der Wertebereich der Partitionierungsspalte für die einzelnen Partitionen. Dieser Wertebereich bestimmt die Anzahl der Partitionen, aus denen Ihre Tabelle besteht. Eine Tabelle kann maximal 1.000 Partitionen aufweisen.

Die Auswahlmöglichkeiten, die Ihnen für die Partitionierungsspalte und den Wertebereich zur Verfügung stehen, werden in erster Linie durch das Ausmaß bestimmt, in dem Ihre Daten auf logische Weise gruppiert werden können, beispielsweise nach Datum, und dadurch, ob diese logische Gruppierung für das Verwalten von Teilmengen der Daten angemessen ist.

In dem Partitionierungsszenario der AdventureWorks2008R2-Datenbank werden beispielsweise die TransactionHistory- und die TransactionHistoryArchive-Tabellen im TransactionDate-Feld partitioniert. Der Wertebereich für die einzelnen Partitionen ist ein Monat. Die TransactionHistory-Tabelle verwaltet die aktuellsten Transaktionen des Jahres, während TransactionHistoryArchive ältere Transaktionen verwaltet. Durch das Partitionieren der Tabellen auf diese Weise können die alten Daten eines einzelnen Monats schnell und effizient monatlich von TransactionHistory in TransactionHistoryArchive übertragen werden.

Weitere Informationen zu diesem bestimmten Szenario finden Sie unter Entwerfen von Partitionen zum Verwalten von Datenteilmengen.

Jede beliebige Spalte, deren Datentyp als Indexschlüssel verwendet werden kann, kann auch als Partitionierungsspalte angegeben werden. Ausgenommen sind hiervon der timestamp-Datentyp, benutzerdefinierte CLR-Datentypen (Common Language Runtime) von Microsoft .NET Framework und Aliasdatentypen. Weitere Informationen finden Sie unter Erstellen partitionierter Tabellen und Indizes.

Planen des Partitionsschemas

Beim Planen des Partitionsschemas müssen Sie entscheiden, in welcher Dateigruppe oder Dateigruppen Sie Ihre Partitionen platzieren möchten. Der wichtigste Grund dafür, dass Partitionen in separaten Dateigruppen platziert werden, besteht darin, sicherzustellen, dass Sie Sicherungsvorgänge unabhängig für Partitionen ausführen können. Dies liegt daran, dass Sie Sicherungen für einzelne Dateigruppen ausführen können. Weitere Informationen finden Sie unter Sichern und Wiederherstellen von Datenbanken in SQL Server.

Wichtiger HinweisWichtig

In SQL Server werden Abfragen, mit denen auf eine partitionierte Tabelle zugegriffen wird, möglicherweise nicht richtig abgeschlossen, wenn sich Dateien, die zu einer Dateigruppe der Tabelle gehören, nicht im ONLINE-Status befinden. Dabei spielt es keine Rolle, auf welche Partitionen mit der Abfrage zugegriffen wird.

Transact-SQL-Skripte, die dieses Szenario implementieren, finden Sie in den Beispielen ReadMe_SlidingWindow und Readme_PartitioningScript. Weitere Informationen zu Beispielen finden Sie unter Überlegungen zum Installieren der SQL Server-Beispiele und -Beispieldatenbanken.