Option Degré maximal 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 dans une exécution de plans parallèles. Pour permettre au serveur de déterminer le degré maximal de parallélisme, définissez cette option sur 0, c'est-à-dire la valeur par défaut. Attribuer la valeur 0 à l'option Degré maximal de parallélisme permet à SQL Server d'utiliser tous les processeurs disponibles, 64 au maximum. 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 au cours de l'exécution d'une requête simple, attribuez une valeur supérieure à 1 à cette option. La valeur maximale du paramètre degree of parallelism est contrôlée par l'édition de SQL Server, le type d'UC et le système d'exploitation. Si une valeur supérieure au nombre de processeurs disponibles est spécifiée, le nombre réel de processeurs disponibles est utilisé. Si l'ordinateur est équipé d'un seul processeur, la valeur de l'option max degree of parallelism est ignorée.

Valeur

Édition de SQL Server

1

SQL Server Express

2

SQL Server Workgroup

4

SQL Server 2008 Web

4

SQL Server 2008 Standard

32

SQL Server 2008 Enterprise s'exécutant sur les systèmes d'exploitation x86.

Remplacement de la valeur de l'option Degré maximal de parallélisme

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 (DDL) d'index et l'alimentation 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).

Notes

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.

Définition de l'option Degré maximal de parallélisme

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

L'exemple suivant affecte la valeur 8 à l'option max degree of parallelism.

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 configuration de la valeur 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).