Option Degré maximum de parallélisme

Lorsque SQL Server s'exécute sur un ordinateur doté de plusieurs microprocesseurs ou UC, il détecte le degré de parallélisme optimal, qui correspond au nombre de processeurs employés pour exécuter une seule instruction, pour chaque exécution d'un plan parallèle. Vous pouvez utiliser l'option max degree of parallelism pour limiter le nombre de processeurs à utiliser lors de l'exécution des plans parallèles. La valeur par défaut 0 utilise tous les processeurs disponibles à concurrence de 64. Pour supprimer la génération de plans parallèles, attribuez la valeur 1 à l'option max degree of parallelism. Pour limiter le nombre maximal de processeurs utilisés lors de l'exécution d'une requête simple, attribuez-lui une valeur supérieure à 1 (la valeur maximale étant de 64). Si une valeur supérieure au nombre de processeurs disponibles est spécifiée, tous les processeurs réellement disponibles sont utilisés. Si votre ordinateur est équipé d'un seul processeur, la valeur de l'option max degree of parallelism est ignorée.

Remplacement de la valeur de l'option max degree of parallelism

SQL Server prend en compte les plans d'exécution parallèle pour les requêtes, les opérations du langage de définition de données d'index (DDL) et la population des curseurs statiques et de jeux de clés. Pour plus d'informations sur l'exécution parallèle, consultez Degré de parallélisme.

Vous pouvez remplacer la valeur de l'option max degree of parallelism dans les requêtes en spécifiant l'indicateur de requête MAXDOP dans l'instruction de requête. Pour plus d'informations, consultez Indicateurs de requête (Transact-SQL).

Les opérations d'index destinées à créer ou à recréer un index, voire à supprimer un index cluster, peuvent nécessiter une quantité importante de ressources. Vous pouvez remplacer la valeur de l'option max degree of parallelism pour les opérations d'index en spécifiant l'option d'index MAXDOP dans l'instruction d'index. La valeur de MAXDOP est appliquée à l'instruction au moment de son exécution et n'est pas stockée dans les métadonnées de l'index. Pour plus d'informations, consultez Configuration d'opérations d'index parallèles.

En plus des requêtes et des opérations d'index, cette option gère également le parallélisme de DBCC CHECKTABLE, DBCC CHECKDB et DBCC CHECKFILEGROUP. Vous pouvez désactiver les plans d'exécution parallèle pour ces instructions en utilisant l'indicateur de trace 2528. Pour plus d'informations, consultez Indicateurs de trace (Transact-SQL).

[!REMARQUE]

Si l'option affinity mask n'est pas définie sur la valeur par défaut, il est possible qu'elle limite le nombre de processeurs disponibles pour SQL Server sur les systèmes de multitraitement symétrique (SMP, symmetric multiprocessing).

Définition de l'option max degree of parallelism

L'option max degree of parallelism est une option avancée. Si vous utilisez la procédure stockée système sp_configure pour changer sa valeur, vous ne pouvez modifier l'option max degree of parallelism que si la valeur 1 a été attribuée à l'option show advanced options. Le paramètre prend effet immédiatement (sans redémarrer le service MSSQLSERVER).

Dans l'exemple suivant, la valeur de option max degree of parallelism option à 8.

sp_configure 'show advanced options', 1;
GO
RECONFIGURE WITH OVERRIDE;
GO
sp_configure 'max degree of parallelism', 8;
GO
RECONFIGURE WITH OVERRIDE;
GO

Pour plus d'informations sur la définition de la valeur de l'option max degree of parallelism dans SQL Server Management Studio, consultez Procédure : configuration du nombre de processeurs disponibles pour des requêtes parallèles (SQL Server Management Studio).