Créer des tables et des index partitionnésCreate Partitioned Tables and Indexes

S’APPLIQUE À : ouiSQL Server ouiAzure SQL Database nonAzure SQL Data Warehouse nonParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Vous pouvez créer une table ou un index partitionné(e) dans SQL Server 2017SQL Server 2017 à l'aide de SQL Server Management StudioSQL Server Management Studio ou de Transact-SQLTransact-SQL.You can create a partitioned table or index in SQL Server 2017SQL Server 2017 by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL. Les données contenues dans des tables et des index partitionnés sont divisées horizontalement en unités qui peuvent être réparties sur plusieurs groupes de fichiers d'une base de données.The data in partitioned tables and indexes is horizontally divided into units that can be spread across more than one filegroup in a database. Le partitionnement permet de rendre des tables et des index volumineux plus gérables et plus évolutifs.Partitioning can make large tables and indexes more manageable and scalable.

La création d'une table ou d'un index partitionné(e) se produit généralement en quatre étapes :Creating a partitioned table or index typically happens in four parts:

  1. Créez un ou plusieurs groupes de fichiers et les fichiers correspondants qui contiendront les partitions spécifiées par le schéma de partition.Create a filegroup or filegroups and corresponding files that will hold the partitions specified by the partition scheme.

  2. Créez une fonction de partition qui mappe les lignes d'une table ou d'un index avec des partitions basées sur les valeurs d'une colonne spécifiée.Create a partition function that maps the rows of a table or index into partitions based on the values of a specified column.

  3. Créez un schéma de partition qui mappe les partitions d'une table ou d'un index partitionné(e) avec les nouveaux groupes de fichiers.Create a partition scheme that maps the partitions of a partitioned table or index to the new filegroups.

  4. Créez ou modifiez une table ou un index et spécifiez le schéma de partition comme emplacement de stockage.Create or modify a table or index and specify the partition scheme as the storage location.

Dans cette rubriqueIn This Topic

Avant de commencerBefore You Begin

Limitations et restrictionsLimitations and Restrictions

  • L'étendue d'une fonction de partition et d'un schéma est limitée à la base de données dans laquelle ils ont été créés.The scope of a partition function and scheme is limited to the database in which they have been created. Dans la base de données, les fonctions de partition résident dans un espace de noms indépendant des autres fonctions.Within the database, partition functions reside in a separate namespace from other functions.

  • Si des lignes dans une fonction de partition ont des colonnes de partitionnement avec des valeurs Null, ces lignes sont allouées à la partition la plus à gauche.If any rows within a partition function have partitioning columns with null values, these rows are allocated to the left-most partition. Toutefois, si NULL est spécifié comme valeur limite et que RIGHT est indiqué, la partition la plus à gauche reste vide et les valeurs NULL sont placées dans la deuxième partition.However, if NULL is specified as a boundary value and RIGHT is indicated, the left-most partition remains empty and NULL values are placed in the second partition.

SécuritéSecurity

AutorisationsPermissions

La création d'une table partitionnée nécessite une autorisation CREATE TABLE dans la base de données et une autorisation ALTER pour le schéma dans lequel la table est créée.Creating a partitioned table requires CREATE TABLE permission in the database and ALTER permission on the schema in which the table is being created. La création d'un index partitionné nécessite l'autorisation ALTER sur la table ou la vue dans laquelle l'index est créé.Creating a partitioned index requires ALTER permission on the table or view where the index is being created. La création d'une table ou d'un index partitionné(e) nécessite l'une des autorisations supplémentaires suivantes :Creating either a partitioned table or index requires any one of the following additional permissions:

  • Autorisation ALTER ANY DATASPACE.ALTER ANY DATASPACE permission. Cette autorisation est attribuée par défaut aux membres du rôle serveur fixe sysadmin et des rôles de base de données fixes db_owner et db_ddladmin .This permission defaults to members of the sysadmin fixed server role and the db_owner and db_ddladmin fixed database roles.

  • Autorisation CONTROL ou ALTER sur la base de données dans laquelle la fonction de partition et le schéma de partition sont créés.CONTROL or ALTER permission on the database in which the partition function and partition scheme are being created.

  • Autorisation CONTROL SERVER ou ALTER ANY DATABASE sur le serveur de la base de données dans laquelle la fonction de partition et le schéma de partition sont créés.CONTROL SERVER or ALTER ANY DATABASE permission on the server of the database in which the partition function and partition scheme are being created.

Utilisation de SQL Server Management StudioUsing SQL Server Management Studio

Suivez les étapes de cette procédure pour créer un ou plusieurs groupes de fichiers, les fichiers correspondants et une table.Follow the steps in this procedure to create one or more filegroups, corresponding files, and a table. Vous référencerez ces objets dans la procédure suivante lorsque vous créerez la table partitionnée.You will reference these objects in the next procedure when you create the partitioned table.

Pour créer de nouveaux groupes de fichiers pour une table partitionnéeTo create new filegroups for a partitioned table

  1. Dans l’Explorateur d’objets, cliquez avec le bouton droit sur la base de données dans laquelle vous souhaitez créer une table partitionnée et sélectionnez Propriétés.In Object Explorer, right-click the database in which you want to create a partitioned table and select Properties.

  2. Dans la boîte de dialogue Propriétés de la base de données - nom_base_de_données, sous Sélectionner une page, sélectionnez Groupes de fichiers.In the Database Properties - database_name dialog box, under Select a page, select Filegroups.

  3. Sous Lignes, cliquez sur Ajouter.Under Rows, click Add. Dans la nouvelle ligne, entrez le nom du groupe de fichiers.In the new row, enter the filegroup name.

    Avertissement

    Vous devez toujours avoir un groupe de fichiers supplémentaire en plus du nombre de groupes de fichiers spécifié pour les valeurs limites lorsque vous créez des partitions.You must always have one extra filegroup in addition to the number of filegroups specified for the boundary values when you are creating partitions.

  4. Continuez à ajouter des lignes jusqu'à ce que vous ayez créé tous les groupes de fichiers pour la table partitionnée.Continue adding rows until you have created all of the filegroups for the partitioned table.

  5. Cliquez sur OK.Click OK.

  6. Sous Sélectionner une page, sélectionnez Fichiers.Under Select a page, select Files.

  7. Sous Lignes, cliquez sur Ajouter.Under Rows, click Add. Dans la nouvelle ligne, entrez un nom de fichier et sélectionnez un groupe de fichiers.In the new row, enter a filename and select a filegroup.

  8. Continuez à ajouter des lignes jusqu'à ce que vous ayez créé au moins un fichier pour chaque groupe de fichiers.Continue adding rows until you have created at least one file for each filegroup.

  9. Développez le dossier Tables et créez une table selon la procédure habituelle.Expand the Tables folder and create a table as you normally would. Pour plus d’informations, consultez Créer des tables (moteur de base de données).For more information, see Create Tables (Database Engine). Vous pouvez éventuellement spécifier une table existante dans la procédure suivante.Alternatively, you can specify an existing table in the next procedure.

Pour créer une table partitionnéeTo create a partitioned table

  1. Cliquez avec le bouton droit sur la table à partitionner, pointez sur Stockage, puis cliquez sur Créer une partition... .Right-click the table that you wish to partition, point to Storage, and then click Create Partition....

  2. Dans l' Assistant Création de partition, sur la page Assistant Création de partition , cliquez sur Suivant.In the Create Partition Wizard, on the Welcome to the Create Partition Wizard page, click Next.

  3. Sur la page Sélectionner une colonne de partitionnement , dans la grille Colonnes de partitionnement disponibles , sélectionnez la colonne sur laquelle vous souhaitez partitionner votre table.On the Select a Partitioning Column page, in the Available partitioning columns grid, select the column on which you want to partition your table. Seules les colonnes dont le type de données peut être utilisé pour partitionner des données seront affichées dans la grille Colonnes de partitionnement disponibles .Only columns with data types that can be used to partition data will be displayed in the Available partitioning columns grid. Si vous sélectionnez une colonne calculée comme colonne de partitionnement, celle-ci doit être désignée en tant que colonne persistante.If you select a computed column as the partitioning column, the column must be designated as a persisted column.

    Le degré avec lequel vous pouvez regrouper les données de façon logique déterminent les options dont vous disposez pour définir la colonne de partitionnement et la plage de valeurs.The choices you have for the partitioning column and the values range are determined primarily by the extent to which your data can be grouped in a logical way. Par exemple, vous pouvez choisir de diviser vos données en regroupements logiques par mois ou trimestres d'une année.For example, you may choose to divide your data into logical groupings by months or quarters of a year. Les requêtes que vous projetez d'exécuter sur vos données détermineront si ce regroupement logique est adéquat pour gérer vos partitions de table.The queries you plan to make against your data will determine whether this logical grouping is adequate for managing your table partitions. Tous les types de données sont utilisables comme colonnes de partitionnement, à l’exception de text, ntext, image, xml, timestamp, varchar(max) , nvarchar(max) , varbinary(max) , des types de données d’alias ou des types de données CLR définis par l’utilisateur.All data types are valid for use as partitioning columns, except text, ntext, image, xml, timestamp, varchar(max), nvarchar(max), varbinary(max), alias data types, or CLR user-defined data types.

    Les options supplémentaires suivantes sont disponibles sur cette page :The following additional options are available on this page:

    Colocaliser cette table avec la table partitionnée sélectionnéeCollocate this table to the selected partitioned table
    Permet de sélectionner une table partitionnée qui contient les données connexes à joindre à cette table sur la colonne de partitionnement.Allows you to select a partitioned table that contains related data to join with this table on the partitioning column. Les requêtes portant sur des tables présentant des partitions jointes sur les colonnes de partitionnement sont généralement plus efficaces.Tables with partitions joined on the partitioning columns are typically queried more efficiently.

    Aligner les index non uniques et uniques avec une colonne de partition indexée lors du stockageStorage-align non-unique indexes and unique indexes with an indexed partition column
    Aligne tous les index de la table qui sont partitionnés avec le même schéma de partition.Aligns all indexes of the table that are partitioned with the same partition scheme. Lorsqu'une table et ses index sont alignés, vous pouvez plus efficacement déplacer des partitions dans et hors de tables partitionnées, car vos données sont partitionnées avec le même algorithme.When a table and its indexes are aligned, you can move partitions in and out of partitioned tables more effectively, because your data is partitioned with the same algorithm.

    Après avoir sélectionné la colonne de partitionnement et toute autre option, cliquez sur Suivant.After selecting the partitioning column and any other options, click Next.

  4. Sur la page Sélectionner une fonction de partition , sous Sélectionner une fonction de partition, cliquez sur Nouvelle fonction de partition ou sur Fonction de partition existante.On the Select a Partition Function page, under Select partition function, click either New partition function or Existing partition function. Si vous choisissez Nouvelle fonction de partition, entrez le nom de la fonction.If you choose New partition function, enter the name of the function. Si vous choisissez Fonction de partition existante, sélectionnez le nom de la fonction que vous souhaitez utiliser dans la liste.If you choose Existing partition function, select the name of the function you'd like to use from the list. L'option Fonction de partition existante ne sera pas disponible s'il n'existe aucune autre fonction de partition sur la base de données.The Existing partition function option will not be available if there are no other partition functions on the database.

    Après avoir complété cette page, cliquez sur Suivant.After completing this page, click Next.

  5. Sur la page Sélectionner un schéma de partition , sous Sélectionner un schéma de partition, cliquez sur Nouveau schéma de partition ou sur Schéma de partition existant.On the Select a Partition Scheme page, under Select partition scheme, click either New partition scheme or Existing partition scheme. Si vous choisissez Nouveau schéma de partition, entrez le nom du schéma.If you choose New partition scheme, enter the name of the scheme. Si vous choisissez Schéma de partition existant, sélectionnez le nom du schéma que vous souhaitez utiliser dans la liste.If you choose Existing partition scheme, select the name of the scheme you'd like to use from the list. L'option Schéma de partition existant ne sera pas disponible s'il n'existe aucun autre schéma de partition sur la base de données.The Existing partition scheme option will not be available if there are no other partition schemes on the database.

    Après avoir complété cette page, cliquez sur Suivant.After completing this page, click Next.

  6. Sur la page Associer les partitions , sous Plage, sélectionnez Limite gauche ou Limite droite pour spécifier s'il faut inclure la valeur limite la plus élevée ou la plus basse dans chaque groupe de fichiers que vous créez.On the Map Partitions page, under Range, select either Left boundary or Right boundary to specify whether to include the highest or lowest bounding value within each filegroup you create. Vous devez toujours entrer un groupe de fichiers supplémentaire en plus du nombre de groupes de fichiers spécifié pour les valeurs limites lorsque vous créez des partitions.You must always enter one extra filegroup in addition to the number of filegroups specified for the boundary values when you are creating partitions.

    Dans la grille Sélectionnez les groupes de fichiers et spécifiez les valeurs limites , sous Groupe de fichiers, sélectionnez le groupe de fichiers dans lequel vous souhaitez partitionner vos données.In the Select filegroups and specify boundary values grid, under Filegroup, select the filegroup into which you want to partition your data. Sous Limite, entrez la valeur limite pour chaque groupe de fichiers.Under Boundary, enter the boundary value for each filegroup. Si la valeur limite reste vide, la fonction de partition mappe la totalité de la table ou de l'index en une seule partition en utilisant le nom de la fonction de partition.If boundary value is left empty, the partition function maps the whole table or index into a single partition using the partition function name.

    Les options supplémentaires suivantes sont disponibles sur cette page :The following additional options are available on this page:

    Définir les limites...Set Boundaries...
    Ouvre la boîte de dialogue Définir les valeurs limites pour sélectionner les valeurs limites et les plages de dates voulues pour vos partitions.Opens the Set Boundary Values dialog box to select the boundary values and date ranges you want for your partitions. Cette option est disponible uniquement quand vous avez sélectionné une colonne de partitionnement qui contient l’un des types de données suivants : date, datetime, smalldatetime, datetime2ou datetimeoffset.This option is only available when you have selected a partitioning column that contains one of the following data types: date, datetime, smalldatetime, datetime2, or datetimeoffset.

    Estimer le stockageEstimate storage
    Estime le nombre de lignes, l'espace requis et l'espace disponible pour le stockage de chaque groupe de fichiers spécifié pour les partitions.Estimates rowcount, required space, and available space for storage for each filegroup specified for the partitions. Ces valeurs s'affichent dans la grille en tant que valeurs en lecture seule.These values are displayed in the grid as read-only values.

    La boîte de dialogue Définir les valeurs limites autorise les options supplémentaires suivantes :The Set Boundary Values dialog box allows for the following additional options:

    Date de débutStart date
    Sélectionne la date de début pour les valeurs de plages de vos partitions.Selects the starting date for the range values of your partitions.

    Date de finEnd date
    Sélectionne la date de fin pour les valeurs de plages de vos partitions.Selects the ending date for the range values of your partitions. Si vous avez sélectionné l’option Limite gauche dans la page Associer les partitions , cette date est la dernière valeur de chaque groupe de fichiers/partition.If you selected Left boundary on the Map Partitions page, this date will be the last value for each filegroup/partition. Si vous avez sélectionné l’option Limite droite dans la page Associer les partitions , cette date est la première valeur du prochain groupe de fichiers.If you selected Right boundary on the Map Partitions page, this date will be the first value in the next-to-last filegroup.

    Plage de datesDate range
    Sélectionne la granularité de date ou l'incrément de valeur de plage qui vous intéresse pour chaque partition.Selects the date granularity or range value increment you want for each partition.

    Après avoir complété cette page, cliquez sur Suivant.After completing this page, click Next.

  7. Sur la page Sélectionner une option de sortie , spécifiez de quelle manière vous souhaitez remplir votre table partitionnée.In the Select an Output Option page, specify how you want to complete your partitioned table. Sélectionnez Créer un script pour créer un script SQL basé sur les pages précédentes de l'Assistant.Select Create Script to create a SQL script based the previous pages in the wizard. Sélectionnez Exécuter immédiatement pour créer la nouvelle table partitionnée après avoir complété toutes les pages restantes de l'Assistant.Select Run immediately to create the new partitioned table after completing all remaining pages in the wizard. Sélectionnez Planification pour créer la nouvelle table partitionnée à un moment prédéterminé dans le futur.Select Schedule to create the new partitioned table at a predetermined time in the future.

    Si vous sélectionnez Créer un script, les options suivantes sont disponibles sous Options de script:If you select Create script, the following options are available under Script options:

    Générer un script sur fichierScript to file
    Génère le script sous la forme d'un fichier .sql.Generates the script as a .sql file. Entrez un nom de fichier et un emplacement dans la boîte de dialogue Nom de fichier ou cliquez sur Parcourir pour ouvrir la boîte de dialogue Emplacement du fichier de script .Enter a file name and location in the File name box or click Browse to open the Script File Location dialog box. Pour Enregistrer sous, sélectionnez Texte Unicode ou Texte ANSI.From Save As, select Unicode text or ANSI text.

    Générer un script sur le Presse-papiersScript to Clipboard
    Enregistre le script dans le Presse-papiers.Saves the script to the Clipboard.

    Générer un script dans une nouvelle fenêtre de requêteScript to New Query Window
    Génère le script dans une nouvelle fenêtre de l'éditeur de requêtes.Generates the script to a new Query Editor window. Il s'agit de la sélection par défaut.This is the default selection.

    Si vous sélectionnez Planification, cliquez sur Modifier la planification.If you select Schedule, click Change schedule.

    1. Dans la boîte de dialogue Nouvelle planification du travail, dans la zone Nom, entrez le nom de la planification du travail.In the New Job Schedule dialog box, in the Name box, enter the job schedule's name.

    2. Dans la liste Type de planification , sélectionnez le type de la planification :On the Schedule type list, select the type of schedule:

      • Lancer automatiquement au démarrage de SQL Server AgentStart automatically when SQL Server Agent starts

      • Démarrer dès que les processeurs sont inactifsStart whenever the CPUs become idle

      • Périodique.Recurring. Sélectionnez cette option si votre nouvelle table partitionnée est mise à jour régulièrement avec de nouvelles informations.Select this option if your new partitioned table updates with new information on a regular basis.

      • Une fois.One time. Il s'agit de la sélection par défaut.This is the default selection.

    3. Activez ou désactivez la case à cocher Activé pour activer ou désactiver la planification.Select or clear the Enabled check box to enable or disable the schedule.

    4. Si vous sélectionnez Périodique:If you select Recurring:

      1. Sous Fréquence, dans la liste Périodicité , spécifiez la fréquence d'occurrence :Under Frequency, on the Occurs list, specify the frequency of occurrence:

        • Si vous sélectionnez Quotidienne, dans la zone Répéter toutes les , entrez la fréquence de répétition du travail de planification en jours.If you select Daily, in the Recurs every box, enter how often the job schedule repeats in days.

        • Si vous sélectionnez Hebdomadaire, dans la zone Répéter toutes les , entrez la fréquence de répétition du travail de planification en semaines.If you select Weekly, in the Recurs every box, enter how often the job schedule repeats in weeks. Sélectionnez le jour ou les jours de la semaine pendant lesquels la planification du travail est exécutée.Select the day or days of the week on which the job schedule is run.

        • Si vous sélectionnez Mensuelle, sélectionnez Jour ou Le.If you select Monthly, select either Day or The.

          • Si vous sélectionnez Jour, entrez la date du mois à laquelle vous souhaitez que la planification du travail s'exécute, ainsi que la fréquence de répétition de la planification du travail en mois.If you select Day, enter both the date of the month you want the job schedule to run and how often the job schedule repeats in months. Par exemple, si vous souhaitez que la planification du travail s’exécute le 15 du mois un mois sur deux, sélectionnez Jour, puis entrez « 15 » dans la première zone et « 2 » dans la deuxième zone.For example, if you want the job schedule to run on the 15th day of the month every other month, select Day and enter "15" in the first box and "2" in the second box. Notez que le nombre maximum autorisé dans la deuxième zone est « 99 ».Please note that the largest number allowed in the second box is "99".

          • Si vous sélectionnez Le, sélectionnez le jour spécifique de la semaine et du mois pendant lequel vous voulez que la planification du travail s'exécute et la fréquence à laquelle la planification du travail doit se répéter en mois.If you select The, select the specific day of the week within the month that you want the job schedule to run and how often the job schedule repeats in months. Par exemple, si vous souhaitez que la planification du travail s’exécute le dernier jour de la semaine un mois sur deux, sélectionnez Jour, puis dernier dans la première liste, jour ouvrable dans la deuxième liste et « 2 » dans la dernière zone.For example, if you want the job schedule to run on the last weekday of the month every other month, select Day, select last from the first list and weekday from the second list, and then enter "2" in the last box. Vous pouvez également sélectionner premier, deuxième, troisièmeou quatrième, ainsi que des jours de la semaine spécifiques (par exemple, dimanche ou mercredi) dans les deux premières listes.You can also select first, second, third, or fourth, as well as specific weekdays (for example: Sunday or Wednesday) from the first two lists. Notez que le nombre maximum autorisé dans la dernière zone est « 99 ».Please note that the largest number allowed in the last box is "99".

      2. Sous Fréquence quotidienne, spécifiez la fréquence à laquelle la planification du travail se répète le jour de son exécution :Under Daily frequency, specify how often the job schedule repeats on the day the job schedule runs:

        • Si vous sélectionnez Une fois à, entrez l'heure spécifique à laquelle la planification du travail doit s'exécuter dans la zone Une fois à .If you select Occurs once at, enter the specific time of day when the job schedule should run in the Occurs once at box. Entrez l'heure, les minutes et les secondes du jour, ainsi que AM ou PM.Enter the hour, minute, and second of the day, as well as AM or PM.

        • Si vous sélectionnez Toutes les, spécifiez la fréquence à laquelle la planification du travail s'exécute pendant la journée choisie sous Fréquence.If you select Occurs every, specify how often the job schedule runs during the day chosen under Frequency. Par exemple, si vous souhaitez que la planification du travail se répète toutes les 2 heures le jour d’exécution de la planification du travail, sélectionnez Toutes les, entrez « 2 » dans la première zone, puis sélectionnez heure(s) dans la liste.For example, if you want the job schedule to repeat every 2 hours during the day that the job schedule is run, select Occurs every, enter "2" in the first box, and then select hour(s) from the list. Dans cette liste, vous pouvez également sélectionner minute(s) et seconde(s) .From this list you can also select minute(s) and second(s). Notez que le nombre maximum autorisé dans la première zone est « 100 ».Please note that the largest number allowed in the first box is "100".

          Dans la zone Début , entrez l'heure à laquelle l'exécution de la planification du travail doit démarrer.In the Starting at box, enter the time that the job schedule should start running. Dans la zone Fin , entrez l'heure à laquelle la planification du travail doit s'arrêter.In the Ending at box, enter the time that the job schedule should stop repeating. Entrez l'heure, les minutes et les secondes du jour, ainsi que AM ou PM.Enter the hour, minute, and second of the day, as well as AM or PM.

      3. Sous Durée, dans la zone Date de début, entrez la date à laquelle vous souhaitez que l'exécution de la planification du travail commence.Under Duration, in Start date, enter the date that you want the job schedule to start running. Sélectionnez Date de fin ou Aucune date de fin pour indiquer à quel moment l'exécution de la planification du travail doit s'arrêter.Select End date or No end date to indicate when the job schedule should stop running. Si vous sélectionnez Date de fin, entrez la date à laquelle l'exécution de la planification du travail doit s'arrêter.If you select End date, enter the date that you want to job schedule to stop running.

    5. Si vous sélectionnez Une foissous Une seule occurrence, dans la zone Date , entrez la date à laquelle la planification du travail est exécutée.If you select One Time, under One-time occurrence, in the Date box, enter the date that the job schedule will be run. Dans la zone Heure , entrez l'heure à laquelle la planification du travail sera exécutée.In the Time box, enter the time that the job schedule will be run. Entrez l'heure, les minutes et les secondes du jour, ainsi que AM ou PM.Enter the hour, minute, and second of the day, as well as AM or PM.

    6. Sous Résumé, dans Description, vérifiez que tous les paramètres de planification du travail sont corrects.Under Summary, in Description, verify that all job schedule settings are correct.

    7. Cliquez sur OK.Click OK.

    Après avoir complété cette page, cliquez sur Suivant.After completing this page, click Next.

  8. Dans la page Vérifier le résumé , sous Vérifier vos sélections, développez toutes les options disponibles pour vérifier que tous les paramètres de partition sont corrects.On the Review Summary page, under Review your selections, expand all available options to verify that all partition settings are correct. Si tout est conforme à vos attentes, cliquez sur Terminer.If everything is as expected, click Finish.

  9. Sur la page Progression de l'Assistant Création de partition , surveillez les informations d'état relatives aux actions de l'Assistant Création de partition.On the Create Partition Wizard Progress page, monitor status information about the actions of the Create Partition Wizard. Selon les options sélectionnées dans l'Assistant, la page de progression peut contenir une ou plusieurs actions.Depending on the options that you selected in the wizard, the progress page might contain one or more actions. La zone supérieure affiche l'état global de l'Assistant et le nombre des messages d'état, d'erreur et d'avertissement qu'il a reçus.The top box displays the overall status of the wizard and the number of status, error, and warning messages that the wizard has received.

    Les options suivantes sont disponibles sur la page Progression de l'Assistant Création de partition :The following options are available on the Create Partition Wizard Progress page:

    DétailsDetails
    Indique l'action, l'état et tous les messages retournés suite à l'action entreprise par l'Assistant.Provides the action, status, and any messages that are returned from action taken by the wizard.

    ActionAction
    Indique le type et le nom de chaque action.Specifies the type and name of each action.

    ÉtatStatus
    Indique si l’action de l’Assistant dans son ensemble a retourné la valeur Réussite ou Échec.Indicates whether the wizard action as a whole returned the value of Success or Failure.

    MessageMessage
    Indique les messages d'erreur ou d'avertissement retournés par le processus.Provides any error or warning messages that are returned from the process.

    RapportReport
    Crée un rapport qui contient les résultats de l'Assistant Création de partition.Creates a report that contains the results of the Create Partition Wizard. Les options sont Afficher le rapport, Enregistrer le rapport dans un fichier, Copier le rapport dans le Presse-papierset Envoyer le rapport sous forme de courrier électronique.The options are View Report, Save Report to File, Copy Report to Clipboard, and Send Report as Email.

    Afficher le rapportView Report
    Ouvre la boîte de dialogue Afficher le rapport , qui contient un rapport au format texte de la progression de l’Assistant Création de partition.Opens the View Report dialog box, which contains a text report of the progress of the Create Partition Wizard.

    Enregistrer le rapport dans un fichierSave Report to File
    Ouvre la boîte de dialogue Enregistrer le rapport sous .Opens the Save Report As dialog box.

    Copier le rapport dans le Presse-papiersCopy Report to Clipboard
    Copie les résultats du rapport de progression de l’Assistant dans le Presse-papiers.Copies the results of the wizard's progress report to the Clipboard.

    Envoyer le rapport sous forme de courrier électroniqueSend Report as Email
    Copie les résultats du rapport de progression de l’Assistant dans un e-mail.Copies the results of the wizard's progress report into an email message.

    Une fois terminé, cliquez sur Fermer.When complete, click Close.

L'Assistant Création de partition crée la fonction de partition et le schéma, puis applique le partitionnement à la table spécifiée.The Create Partition Wizard creates the partition function and scheme and then applies the partitioning to the specified table. Pour vérifier le partitionnement de table, dans l’Explorateur d’objets, cliquez avec le bouton droit sur la table et sélectionnez Propriétés.To verify the table partitioning, in Object Explorer, right-click the table and select Properties. Cliquez sur la page Stockage .Click the Storage page. La page affiche des informations telles que le nom de la fonction de partition et du schéma, ainsi que le nombre de partitions.The page displays information such as the name of the partition function and scheme and the number of partitions.

Utilisation de Transact-SQLUsing Transact-SQL

Pour créer une table partitionnéeTo create a partitioned table

  1. Dans l' Explorateur d'objets, connectez-vous à une instance de Moteur de base de donnéesDatabase Engine.In Object Explorer, connect to an instance of Moteur de base de donnéesDatabase Engine.

  2. Dans la barre d'outils standard, cliquez sur Nouvelle requête.On the Standard bar, click New Query.

  3. Copiez et collez l'exemple suivant dans la fenêtre de requête, puis cliquez sur Exécuter.Copy and paste the following example into the query window and click Execute. L'exemple crée des groupes de fichiers, une fonction de partition et un schéma de partition.The example creates new filegroups, a partition function, and a partition scheme. Une nouvelle table est créée avec le schéma de partition spécifié comme emplacement de stockage.A new table is created with the partition scheme specified as the storage location.

    USE AdventureWorks2012;  
    GO  
    -- Adds four new filegroups to the AdventureWorks2012 database  
    ALTER DATABASE AdventureWorks2012  
    ADD FILEGROUP test1fg;  
    GO  
    ALTER DATABASE AdventureWorks2012  
    ADD FILEGROUP test2fg;  
    GO  
    ALTER DATABASE AdventureWorks2012  
    ADD FILEGROUP test3fg;  
    GO  
    ALTER DATABASE AdventureWorks2012  
    ADD FILEGROUP test4fg;   
    
    -- Adds one file for each filegroup.  
    ALTER DATABASE AdventureWorks2012   
    ADD FILE   
    (  
        NAME = test1dat1,  
        FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\t1dat1.ndf',  
        SIZE = 5MB,  
        MAXSIZE = 100MB,  
        FILEGROWTH = 5MB  
    )  
    TO FILEGROUP test1fg;  
    ALTER DATABASE AdventureWorks2012   
    ADD FILE   
    (  
        NAME = test2dat2,  
        FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\t2dat2.ndf',  
        SIZE = 5MB,  
        MAXSIZE = 100MB,  
        FILEGROWTH = 5MB  
    )  
    TO FILEGROUP test2fg;  
    GO  
    ALTER DATABASE AdventureWorks2012   
    ADD FILE   
    (  
        NAME = test3dat3,  
        FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\t3dat3.ndf',  
        SIZE = 5MB,  
        MAXSIZE = 100MB,  
        FILEGROWTH = 5MB  
    )  
    TO FILEGROUP test3fg;  
    GO  
    ALTER DATABASE AdventureWorks2012   
    ADD FILE   
    (  
        NAME = test4dat4,  
        FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\t4dat4.ndf',  
        SIZE = 5MB,  
        MAXSIZE = 100MB,  
        FILEGROWTH = 5MB  
    )  
    TO FILEGROUP test4fg;  
    GO  
    -- Creates a partition function called myRangePF1 that will partition a table into four partitions  
    CREATE PARTITION FUNCTION myRangePF1 (int)  
        AS RANGE LEFT FOR VALUES (1, 100, 1000) ;  
    GO  
    -- Creates a partition scheme called myRangePS1 that applies myRangePF1 to the four filegroups created above  
    CREATE PARTITION SCHEME myRangePS1  
        AS PARTITION myRangePF1  
        TO (test1fg, test2fg, test3fg, test4fg) ;  
    GO  
    -- Creates a partitioned table called PartitionTable that uses myRangePS1 to partition col1  
    CREATE TABLE PartitionTable (col1 int PRIMARY KEY, col2 char(10))  
        ON myRangePS1 (col1) ;  
    GO  
    

Pour déterminer si une table est partitionnéeTo determine if a table is partitioned

  1. La requête suivante renvoie une ou plusieurs lignes si la table PartitionTable est partitionnée.The following query returns one or more rows if the table PartitionTable is partitioned. Si la table n'est pas partitionnée, aucune ligne n'est retournée.If the table is not partitioned, no rows are returned.

    SELECT *   
    FROM sys.tables AS t   
    JOIN sys.indexes AS i   
        ON t.[object_id] = i.[object_id]   
        AND i.[type] IN (0,1)   
    JOIN sys.partition_schemes ps   
        ON i.data_space_id = ps.data_space_id   
    WHERE t.name = 'PartitionTable';   
    GO  
    

Pour déterminer les valeurs limites pour une table partitionnéeTo determine the boundary values for a partitioned table

  1. La requête suivante renvoie les valeurs limites pour chaque partition de la table PartitionTable .The following query returns the boundary values for each partition in the PartitionTable table.

    SELECT t.name AS TableName, i.name AS IndexName, p.partition_number, p.partition_id, i.data_space_id, f.function_id, f.type_desc, r.boundary_id, r.value AS BoundaryValue   
    FROM sys.tables AS t  
    JOIN sys.indexes AS i  
        ON t.object_id = i.object_id  
    JOIN sys.partitions AS p  
        ON i.object_id = p.object_id AND i.index_id = p.index_id   
    JOIN  sys.partition_schemes AS s   
        ON i.data_space_id = s.data_space_id  
    JOIN sys.partition_functions AS f   
        ON s.function_id = f.function_id  
    LEFT JOIN sys.partition_range_values AS r   
        ON f.function_id = r.function_id and r.boundary_id = p.partition_number  
    WHERE t.name = 'PartitionTable' AND i.type <= 1  
    ORDER BY p.partition_number;  
    

Pour déterminer la colonne de partition pour une table partitionnéeTo determine the partition column for a partitioned table

  1. La requête suivante renvoie le nom de la colonne de partitionnement pour une table.The following query returns the name of the partitioning column for table. PartitionTable.PartitionTable.

    SELECT   
        t.[object_id] AS ObjectID   
        , t.name AS TableName   
        , ic.column_id AS PartitioningColumnID   
        , c.name AS PartitioningColumnName   
    FROM sys.tables AS t   
    JOIN sys.indexes AS i   
        ON t.[object_id] = i.[object_id]   
        AND i.[type] <= 1 -- clustered index or a heap   
    JOIN sys.partition_schemes AS ps   
        ON ps.data_space_id = i.data_space_id   
    JOIN sys.index_columns AS ic   
        ON ic.[object_id] = i.[object_id]   
        AND ic.index_id = i.index_id   
        AND ic.partition_ordinal >= 1 -- because 0 = non-partitioning column   
    JOIN sys.columns AS c   
        ON t.[object_id] = c.[object_id]   
        AND ic.column_id = c.column_id   
    WHERE t.name = 'PartitionTable' ;   
    GO  
    

Pour plus d'informations, consultez :For more information, see: