Share via


Directives de planification des index et des tables partitionnés

Vous devez envisager de créer les objets de base de données suivants avant de partitionner une table ou un index :

  • Partition (fonction)

  • Schéma de partition

Une fonction de partition définit comment les lignes d'une table ou d'un index sont mappées avec un ensemble de partitions basées sur les valeurs de certaines colonnes, appelées « colonnes de partitionnement ».

Un schéma de partition mappe chaque partition spécifiée par la fonction de partition avec un groupe de fichiers.

Planification de la fonction de partition

Deux facteurs sont à prendre en compte lorsque vous planifiez une fonction de partition : la colonne, dont les valeurs déterminent la façon dont une table est partitionnée, appelée « colonne de partitionnement », et la plage de valeurs de la colonne de partitionnement pour chaque partition. Cette plage de valeurs détermine le nombre de partitions qui composent la table. Une table peut comprendre au maximum 1 000 partitions.

Le degré avec lequel vous pouvez regrouper les données de façon logique, par exemple par date, et la compatibilité de ce regroupement logique avec la gestion des sous-ensembles de données déterminent les options dont vous disposez pour définir la colonne de partitionnement et la plage de valeurs.

Ainsi, dans le scénario de partitionnement de l'exemple de base de données AdventureWorks2008R2, les tables TransactionHistory et TransactionHistoryArchive sont partitionnées sur le champ TransactionDate. La plage de valeurs de chaque partition est d'un mois. La table TransactionHistory gère les transactions les plus récentes de l'année, alors que TransactionHistoryArchive gère les transactions plus anciennes. Grâce à ce partitionnement, les données anciennes portant sur un mois peuvent être transférées rapidement et efficacement depuis la table TransactionHistory vers la table TransactionHistoryArchive sur une base mensuelle.

Pour plus d'informations sur ce scénario spécifique, consultez Création de partitions pour gérer les sous-ensembles de données.

Toute colonne dont le type de données peut être utilisé comme clé d'index peut être spécifiée comme colonne de partitionnement, sauf dans le cas du type de données timestamp, des types de données définis par l'utilisateur CLR (Common Language Runtime) Microsoft .NET Framework et des types de données d'alias. Pour plus d'informations, consultez Création de tables et d'index partitionnés.

Planification du schéma de partition

Lorsque vous planifiez le schéma de partition, vous devez choisir le ou les groupes de fichiers sur lesquels vous souhaitez placer les partitions. Le principal motif de placement des partitions sur des groupes de fichiers distincts est la possibilité de réaliser des opérations de sauvegarde indépendantes sur les partitions. En effet, vous pouvez réaliser des sauvegardes sur des groupes de fichiers spécifiques. Pour plus d'informations, consultez Sauvegarde et restauration de bases de données dans SQL Server.

Important

SQL Server ne garantit pas l'exécution correcte des requêtes qui accèdent à une table partitionnée si des fichiers appartenant à un groupe de fichiers quelconque de la table ne sont pas dans un état ONLINE, quelles que soient les partitions auxquelles la requête accède.

Pour les scripts Transact-SQL qui implémentent ce scénario, consultez les exemples ReadMe_SlidingWindow et Readme_PartitioningScript. Pour plus d'informations sur les exemples, consultez Considérations relatives à l'installation d'exemples de bases de données et d'exemples de code SQL Server.