Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Este artigo descreve como configurar a opção de configuração do servidor (max degree of parallelism) no SQL Server usando o MAXDOP SQL Server Management Studio ou o Transact-SQL. Quando uma instância do SQL Server é executada em um computador que tem mais de um microprocessador ou CPU, o Mecanismo de Banco de Dados deteta se o paralelismo pode ser usado. O grau de paralelismo define o número de processadores utilizados para executar uma única instrução, para cada execução de plano paralela. Você pode usar a max degree of parallelism opção para limitar o número de processadores a serem usados na execução do plano paralelo. Para obter mais detalhes sobre o limite definido pela max degree of parallelism, consulte a seção Considerações nesta página. O SQL Server considera planos de execução paralela para consultas, operações DDL (linguagem de definição de dados de índice), inserções paralelas, coluna de alteração online, coleta de estatísticas paralelas e população de cursor estática e orientada por conjunto de chaves.
O SQL Server 2019 (15.x) introduziu recomendações automáticas para definir a opção de configuração do max degree of parallelism servidor com base no número de processadores disponíveis durante o processo de instalação. A interface de usuário de configuração permite que você aceite as configurações recomendadas ou insira seu próprio valor. Para obter mais informações, consulte Configuração do Mecanismo de Banco de Dados - página MaxDOP.
No Banco de Dados SQL do Azure, no Banco de Dados SQL no Malha e na Instância Gerenciada SQL do Azure, a configuração padrão MAXDOP para cada novo banco de dados único, banco de dados de pool elástico e instância gerenciada é 8. No Banco de Dados SQL do Azure e no Banco de Dados SQL no Fabric, a configuração do escopo do MAXDOP banco de dados é definida como 8. Na Instância Gerenciada SQL do Azure, a opção de configuração do max degree of parallelism servidor é definida como 8.
Para obter mais informações MAXDOP no Banco de Dados SQL do Azure ou no Banco de Dados SQL no Fabric, consulte Configurar o grau máximo de paralelismo (MAXDOP) no Banco de Dados SQL do Azure e no Banco de Dados SQL no Fabric.
Considerations
Esta opção é uma opção avançada e deve ser alterada apenas por um profissional de banco de dados experiente.
Se a opção de máscara de afinidade não estiver definida como padrão, ela poderá restringir o número de processadores disponíveis para o SQL Server em sistemas de multiprocessamento simétrico (SMP).
Definir max degree of parallelism para 0 permite que o SQL Server utilize todos os processadores disponíveis, até 64 processadores. No entanto, este não é o valor recomendado para a maioria dos casos. Para obter mais informações sobre os valores recomendados para o grau máximo de paralelismo, consulte a seção Recomendações nesta página.
Para suprimir a geração de planos paralelos, defina max degree of parallelism como 1. Defina o valor como um número de 1 a 32.767 para especificar o número máximo de núcleos de processador que podem ser usados durante uma única execução de consulta. Se for especificado um valor maior do que o número de processadores disponíveis, o número real de processadores disponíveis será usado. Se o computador tiver apenas um processador, o max degree of parallelism valor será ignorado.
O grau máximo de limite de paralelismo é definido por tarefa. Não é um de solicitação por MAXDOP limite, e cada tarefa usa um trabalhador e um agendador. Para obter mais informações, consulte a seção Agendamento de tarefas paralelas no Guia de arquitetura de threads e tarefas.
Você pode substituir o valor de configuração do grau máximo de paralelismo do servidor:
- No nível da consulta, usando a
dica de consulta ou as dicas doRepositório de Consultas . - No nível do banco de dados, usando a configuração do
MAXDOPescopo do banco de dados. - No nível da carga de trabalho, usando a
MAX_DOPopção de um grupo de carga de trabalho do administrador de recursos.
As operações de índice que criam ou recriam um índice, ou que descartam um índice clusterizado, podem consumir muitos recursos. Você pode substituir o valor do grau máximo de paralelismo para operações de índice especificando a MAXDOP opção de índice na instrução de índice. O MAXDOP valor é aplicado à instrução em tempo de execução e não é armazenado nos metadados do índice. Para obter mais informações, consulte Configurar operações de índice paralelo.
Além de consultas e operações de índice, essa opção também controla o paralelismo de DBCC CHECKTABLE, DBCC CHECKDBe DBCC CHECKFILEGROUP. Você pode desabilitar planos de execução paralela para essas instruções usando o sinalizador de rastreamento 2528. Para obter mais informações, consulte o sinalizador de rastreamento 2528.
O SQL Server 2022 (16.x) introduziu o Feedback do Grau de Paralelismo (DOP), um novo recurso para melhorar o desempenho da consulta, identificando ineficiências de paralelismo para consultas repetidas, com base no tempo decorrido e nas esperas. O feedback DOP faz parte da família de recursos de processamento inteligente de consultas e aborda o uso não ideal do paralelismo para repetir consultas. Para obter informações sobre comentários DOP, visite Comentários sobre o grau de paralelismo (DOP).
Recommendations
No SQL Server 2016 (13.x) e versões posteriores, durante a inicialização do serviço, se o Mecanismo de Banco de Dados detetar mais de oito núcleos físicos por nó NUMA ou soquete na inicialização, os nós NUMA suaves serão criados automaticamente por padrão. O Mecanismo de Banco de Dados coloca processadores lógicos do mesmo núcleo físico em diferentes nós soft-NUMA. As recomendações na tabela a seguir visam manter todos os threads de trabalho de uma consulta paralela dentro do mesmo nó soft-NUMA. Isso melhora o desempenho das consultas e distribui os threads de trabalho entre os nós NUMA, otimizando a carga de trabalho. Para obter mais informações, consulte Soft-NUMA (SQL Server).
No SQL Server 2016 (13.x) e versões posteriores, use as seguintes diretrizes ao configurar o valor de configuração do max degree of parallelism servidor:
| Configuração do servidor | Número de processadores | Guidance |
|---|---|---|
| Servidor com nó NUMA único | Menor ou igual a oito processadores lógicos | Manter MAXDOP em ou sob o # de processadores lógicos |
| Servidor com nó NUMA único | Mais de oito processadores lógicos | Manter MAXDOP em 8 |
| Servidor com vários nós NUMA | Menor ou igual a 16 processadores lógicos em cada nó NUMA | Manter MAXDOP em ou sob o # de processadores lógicos por nó NUMA |
| Servidor com vários nós NUMA | Mais de 16 processadores lógicos por nó NUMA | Mantenha MAXDOP pela metade o número de processadores lógicos por nó NUMA com um valor MAX de 16 |
O nó NUMA na tabela anterior refere-se a nós soft-NUMA criados automaticamente pelo SQL Server 2016 (13.x) e versões superiores, ou nós NUMA baseados em hardware se soft-NUMA estiver desabilitado.
Use essas mesmas diretrizes ao definir a opção de grau máximo de paralelismo para grupos de carga de trabalho do Administrador de Recursos. Para obter mais informações, consulte CREATE WORKLOAD GROUP.
SQL Server 2014 e versões anteriores
Do SQL Server 2008 (10.0.x) ao SQL Server 2014 (12.x), use as seguintes diretrizes ao configurar o valor de configuração do max degree of parallelism servidor:
| Configuração do servidor | Número de processadores | Guidance |
|---|---|---|
| Servidor com nó NUMA único | Menor ou igual a oito processadores lógicos | Manter MAXDOP em ou sob o # de processadores lógicos |
| Servidor com nó NUMA único | Mais de oito processadores lógicos | Manter MAXDOP em 8 |
| Servidor com vários nós NUMA | Menos ou igual a oito processadores lógicos por nó NUMA | Manter MAXDOP em ou sob o # de processadores lógicos por nó NUMA |
| Servidor com vários nós NUMA | Mais de oito processadores lógicos por nó NUMA | Manter MAXDOP em 8 |
Permissions
As permissões de execução em sp_configure sem parâmetros ou apenas com o primeiro parâmetro são concedidas a todos os usuários por padrão. Para executar sp_configure com ambos os parâmetros para alterar uma opção de configuração ou executar a RECONFIGURE instrução, um usuário deve receber a permissão no nível do ALTER SETTINGS servidor. As funções fixas de servidor ALTER SETTINGS e serveradmin mantêm implicitamente a permissão.
Utilize SQL Server Management Studio
Essas opções alteram o MAXDOP na instância.
No Pesquisador de Objetos, clique com o botão direito do mouse na instância desejada e selecione Propriedades.
Selecione o nó Avançado.
Na caixa Grau Máximo de Paralelismo , selecione o número máximo de processadores a serem usados na execução do plano paralelo.
Utilize o Transact-SQL
Conecte-se ao Mecanismo de Banco de Dados com o SQL Server Management Studio.
Na barra Padrão, selecione Nova consulta.
Copie e cole o exemplo a seguir na janela de consulta e selecione Executar. Este exemplo mostra como usar sp_configure para configurar a
max degree of parallelismopção para16.USE master; GO EXECUTE sp_configure 'show advanced options', 1; GO RECONFIGURE WITH OVERRIDE; GO EXECUTE sp_configure 'max degree of parallelism', 16; GO RECONFIGURE WITH OVERRIDE; GO EXECUTE sp_configure 'show advanced options', 0; GO RECONFIGURE; GO
Para obter mais informações, consulte Opções de configuração do Server.
Acompanhamento: Depois de configurar a opção de grau máximo de paralelismo
A configuração entra em vigor imediatamente sem reiniciar o servidor.
Conteúdo relacionado
- Processamento inteligente de consultas em bancos de dados SQL
- Guia de arquitetura de processamento de consultas
- Definir sinalizadores de rastreamento com DBCC TRACEON (Transact-SQL)
- Indicações do Query Store
- Dicas de consulta (Transact-SQL)
- USE HINT dica de consulta
- ALTERAR A CONFIGURAÇÃO DE ESCOPO DA BASE DE DADOS (Transact-SQL)
- máscara de afinidade Opção de configuração do servidor
- Opções de configuração do Server
- Guia de arquitetura de processamento de consultas
- Guia de arquitetura de threads e tarefas
- sp_configure (Transact-SQL)
- Definir opções de índice
- Grau de paralelismo (DOP) feedback
- RECONFIGURAR (Transact-SQL)
- Monitore e ajuste para otimizar o desempenho
- Configurar operações de índice paralelo