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 AdventureWorks-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 enthält die aktuellsten Transaktionen des Jahres, während TransactionHistoryArchive ältere Transaktionen enthält. 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.
Wichtig |
---|
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. |