max degree of parallelism (opción)

Cuando SQL Server se ejecuta en un equipo con más de un microprocesador o CPU, detecta el mejor grado de paralelismo, es decir, el número de procesadores que se emplea para ejecutar una única instrucción en cada ejecución de planes en paralelo. Puede utilizar la opción max degree of parallelism para limitar el número de procesadores utilizados en la ejecución de planes paralelos. Para que el servidor pueda determinar el Grado máximo de paralelismo, establezca esta opción en 0, que es el valor predeterminado. Si se establece el grado máximo de paralelismo en 0, SQL Server puede utilizar todos los procesadores disponibles hasta un número de 64. Para suprimir la generación del plan paralelo, establezca max degree of parallelism en 1. Establezca un valor superior a 1 para limitar el número máximo de procesadores que se utilizan en la ejecución de una consulta. La edición de SQL Server, el tipo de CPU y el sistema operativo controlan el valor máximo para la configuración del grado de paralelismo. Si se especifica un valor superior al número de procesadores disponibles, se utilizará el número real de procesadores disponibles. Si el equipo tiene solo un procesador, se omite el valor de max degree of parallelism.

Valor

Edición 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 con sistemas operativos x86.

Invalidar el valor de Grado máximo de paralelismo

SQL Server considerará los planes de ejecución en paralelo para consultas, las operaciones de lenguaje de definición de datos (DDL) de índice y el rellenado de cursor estático y controlado por conjunto de claves. Para obtener más información sobre la ejecución en paralelo, vea Grado de paralelismo.

Puede invalidar el valor de la opción max degree of parallelism especificando la sugerencia de consulta MAXDOP en la instrucción de la consulta. Para obtener más información, vea Sugerencias de consulta (Transact-SQL).

Las operaciones de índice que crean o vuelven a generar un índice, o que eliminan un índice clúster, pueden consumir recursos de forma intensiva. Puede invalidar el valor de la opción max degree of parallelism para operaciones de índice especificando la opción de índice MAXDOP en la instrucción del índice. El valor de MAXDOP se aplica a la instrucción en tiempo de ejecución y no se almacena en los metadatos del índice. Para obtener más información, vea Configurar operaciones de índice en paralelo.

Además de las operaciones de consultas e índices, esta opción también controla el paralelismo de DBCC CHECKTABLE, DBCC CHECKDB y DBCC CHECKFILEGROUP. Puede deshabilitar los planes de ejecución en paralelo de estas instrucciones mediante el uso de la marca de seguimiento 2528. Para obtener más información, vea Marcas de seguimiento (Transact-SQL).

Nota

Si el valor de la opción affinity mask no es el predeterminado, es posible que se limite el número de procesadores disponibles para SQL Server en sistemas de multiproceso simétrico (SMP).

Establecer la opción max degree of parallelism

max degree of parallelism es una opción avanzada. Si está utilizando el procedimiento almacenado del sistema sp_configure para cambiar el valor, solo puede cambiar max degree of parallelism cuando show advanced options está establecido en 1. La configuración surte efecto inmediatamente (sin necesidad de reiniciar el servicio MSSQLSERVER).

En el ejemplo siguiente se establece la opción max degree of parallelism en 8.

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

Para obtener más información acerca del establecimiento del valor de max degree of parallelism en SQL Server Management Studio, vea Cómo configurar el número de procesadores disponibles para consultas en paralelo (SQL Server Management Studio).