Création de tables et d'index partitionnés

La création d'une table ou d'un index partitionnés se déroule en plusieurs étapes :

  1. Création d'une fonction de partition pour spécifier la manière dont la table ou l'index qui l'utilisent peuvent être partitionnés.

  2. Création d'un schéma de partition pour spécifier le positionnement des partitions d'une fonction de partition sur les groupes de fichiers.

  3. Création d'une table ou d'un index au moyen du schéma de partition.

Création d'une fonction de partition

Une fonction de partition spécifie la manière dont une table ou un index sont partitionnés. La fonction mappe le domaine sur un ensemble de partitions. Pour créer une fonction de partition, vous devez spécifier le nombre de partitions, la colonne de partitionnement et la plage de valeurs pour chaque partition dans la colonne de partition. Vous ne pouvez spécifier qu'une seule colonne de partitionnement.

Pour plus d'informations sur la planification d'une fonction de partition, consultez Directives de planification des index et des tables partitionnés.

Règles concernant les colonnes de partitionnement

Les colonnes calculées qui font partie d'une fonction de partition doivent présenter l'attribut PERSISTED.

Tous les types de données autorisés dans les colonnes d'index peuvent être utilisés dans la colonne de partitionnement, sauf timestamp. Les types de données ntext, text, image, xml, varchar(max), nvarchar(max) ou varbinary(max) ne peuvent pas être spécifiés. De même, les colonnes de type défini par l'utilisateur du CLR (Common Language Runtime) de Microsoft.NET Framework et les colonnes contenant des données de type alias ne peuvent pas être spécifiées.

Pour créer un fonction de partition

Création d'un schéma de partition

Un schéma de partition mappe les partitions produites par une fonction de partition sur un ensemble de groupes de fichiers défini par vos soins.

Lorsque vous créez un schéma de partition, vous définissez les groupes de fichiers sur lesquels les partitions de table sont mappées en tenant compte des paramètres de la fonction de partition. Vous devez spécifier suffisamment de groupes de fichiers pour le nombre de partitions présentes. Vous pouvez mapper chaque partition sur un groupe de fichiers différent, ou mapper une partie ou l'ensemble des partitions sur un seul groupe de fichiers. Vous pouvez également spécifier des groupes de fichiers « non attribués » de réserve au cas où vous souhaiteriez ajouter des partitions ultérieurement. Dans ce cas, SQL Server marque un des groupes de fichiers au moyen de la propriété NEXT USED. C'est ce groupe de fichiers qui accueillera la nouvelle partition ajoutée.

Un schéma de partition ne peut utiliser qu'une seule fonction de partition. En revanche, une fonction de partition peut faire partie de plusieurs schémas de partition.

Pour créer un schéma de partition

Création d'une table partitionnée ou d'un index partitionné

Pour partitionner une table ou un index au moment de sa création, vous devez spécifier les éléments suivants dans l'instruction CREATE TABLE ou CREATE INDEX :

  • Le schéma de partition que la table utilisera pour mapper les partitions sur les groupes de fichiers.

  • La colonne de partitionnement de la table. Cette colonne doit être identique en termes de type de données, de longueur et de précision à celle qui est spécifiée dans la fonction de partition utilisée par le schéma de partition. Si la colonne est calculée, elle doit avoir l'attribut PERSISTED.

Pour créer une table qui utilise un schéma de partition

Pour créer un index qui utilise un schéma de partition