Opção max degree of parallelism

Quando o SQL Server é executado em um computador com mais de um microprocessador ou CPU, ele detecta o melhor grau de paralelismo, ou seja, o número de processadores utilizados para executar uma única instrução, para cada execução paralela de plano. É possível usar a opção max degree of parallelism para limitar o número de processadores a serem usados na execução paralela do plano. Para permitir que o servidor determine o grau máximo de paralelismo, defina essa opção como 0, o valor padrão. A definição do grau máximo de paralelismo como 0 permite que o SQL Server use todos os processadores disponíveis, até 64 processadores. Para suprimir a geração de planos paralelos, defina max degree of parallelism como 1. Defina o valor como um número maior que 1 para restringir o número máximo de processadores usados por uma única execução de consulta. O valor máximo para thedegree de configuração de paralelismo é controlado pela edição de SQL Server, tipo de CPU e sistema operacional. Se um valor maior do que o número de processadores disponíveis for especificado, o número real de processadores disponíveis será usado. Se o computador tiver apenas um processador, o valor de max degree of parallelism será ignorado.

Valor

Edição do 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 executado em sistemas operacionais x86.

Substituindo o valor de grau máximo de paralelismo

SQL Server considerará os planos de execução paralela para consultas, operações DDL (linguagem de definição de dados) e população de cursor estática e controlada por conjunto de chaves. Para obter mais informações sobre a execução paralela, consulte Grau de paralelismo.

Você pode substituir o valor de max degree of parallelism em consultas especificando a dica de consulta MAXDOP na instrução de consulta. Para obter mais informações, consulte dicas de consulta (Transact-SQL).

As operações de índice que criam ou reconstroem um índice ou descartam um índice clusterizado podem usar muitos recursos. É possível substituir o valor de max degree of parallelism das operações de índice especificando a opção de índice MAXDOP na instrução de índice. O valor MAXDOP é aplicado à instrução no tempo de execução e não é armazenado nos metadados do índice. Para obter mais informações, consulte Configurando operações de índice paralelo.

Além das consultas e das operações de índice, essa opção também controla o paralelismo de DBCC CHECKTABLE, DBCC CHECKDB e DBCC CHECKFILEGROUP. É possível desabilitar a execução paralela de planos para essas instruções usando o sinalizador de rastreamento 2528. Para obter mais informações, consulte Sinalizadores de rastreamento (Transact-SQL).

ObservaçãoObservação

Se a opção affinity mask não estiver definida como padrão, ela poderá restringir o número de processadores disponíveis para o SQL Server em sistemas de SMP (multiprocessamento simétrico).

Definindo a opção max degree of parallelism

A opção max degree of parallelism é uma opção avançada. Se estiver usando o procedimento armazenado do sistema sp_configure para alterar a configuração, você poderá alterar a opção max degree of parallelism apenas quando a opção show advanced options estiver definida como 1. A configuração terá efeito imediatamente (sem a reinicialização do serviço MSSQLSERVER).

O exemplo a seguir define a opção max degree of parallelism como 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 obter mais informações sobre como configurar o valor de max degree of parallelism no SQL Server Management Studio, consulte Como configurar o número de processadores disponíveis para consultas paralelas (SQL Server Management Studio).