DetailPage-MSS-KB

Base de Dados de Conhecimento

ID do artigo: 2806535 - Última revisão: sábado, 2 de maio de 2015 - Revisão: 3.0

 

Nesta página

Sumário

A opção de configuração do Microsoft SQL Server o grau máximo de paralelismo (MAXDOP) controla o número de processadores que são usados para a execução de uma consulta em um plano paralelo. Essa opção determina os recursos de computação e thread que são usados para os operadores de plano de consulta que realizam o trabalho em paralelo. Dependendo do SQL Server é definido em um computador de multiprocessamento simétrico (SMP), um computador de acesso (NUMA) de memória não-uniforme ou processadores hyperthreading ativado, você precisa configurar a opção de grau máximo de paralelismo adequadamente. Este artigo aborda as diretrizes gerais que você pode usar para configurar a opção grau máximo de paralelismo do SQL Server ao usar o procedimento armazenado do sistema sp_configure .

As dicas de consulta Transact-SQL Opção (MAXDOP) podem substituir a opção grau máximo de paralelismono valorsp_configure se a consulta especificar essa opção. No SQL Server 2000, a substituição entrará em vigor somente se o valor é especificado na dica é menor ou igual ao valor sp_configure . No SQL Server 2005 e versões posteriores, a substituição sempre entra em vigor. No SQL Server 2008 e versões posteriores, se o valor MAXDOP exceder o valor que foi configurado usando o Resource Governor, o mecanismo de banco de dados usa o valor de Resource Governor MAXDOP. Todas as regras semânticas que são usadas com a opção de grau máximo de paralelismosão aplicáveis quando você usar a dica de consulta MAXDOP. As outras duas opções que podem substituir ou afetar a configuração MAXDOP são as seguintes:
  • NUMA suave
  • Índice paralela

Mais Informações

Observação: A opção de configuração grau máximo de paralelismo faz não limitar o número de processadores que usa o SQL Server. Para configurar o número de processadores que usa o SQL Server, use a opção de configuração de máscara de afinidade .

Use as seguintes diretrizes ao configurar o MAXDOPvalue.

SQL Server 2005 e versões posteriores

Recolher esta tabelaExpandir esta tabela
Servidor com um único nó NUMAMenos de oito processadores lógicosManter MAXDOP no nível ou abaixo do número de processadores lógicos
Servidor com um único nó NUMAMais de 8 processadores lógicosManter MAXDOP em 8
Servidor com vários nós NUMAMenos de oito processadores lógicos por nó NUMAManter MAXDOP no nível ou abaixo do número de processadores lógicos por nó NUMA
Servidor com vários nós NUMAMais de 8 processadores lógicos por nó NUMAManter MAXDOP em 8



Observação
utilize essas mesmas orientações quando você define a opção de grau máximo de paralelismopara o Resource Governor grupos de carga de trabalho.

Além disso, o valor máximo de 8 mencionada nessas diretrizes é aplicável para atividades típicos do SQL Server e a sobrecarga para os operadores do exchange usadas em planos de consulta paralela. Você pode variar esse valor máximo, dependendo de seus padrões de aplicativo específico e da atividade simultânea na instância do SQL Server. Por exemplo, considere as seguintes situações:
  • Se você tiver um número muito pequeno de consultas que estão em execução ao mesmo tempo em comparação com o número de processadores, você pode definir o valor MAXDOP para um valor maior. Por exemplo, você pode definir o valor MAXDOP para 16.
  • Se você um têm grande número de consultas que estão em execução ao mesmo tempo em comparação com o número de processadores, você pode definir o valor MAXDOP para um valor menor. Por exemplo, você pode definir o valor MAXDOP para 4.
Observação: Qualquer valor que você considerar o uso deve ser completamente testado em relação a atividade do aplicativo específico ou padrão de consultas antes de implementar esse valor em um servidor de produção.

SQL Server 2000 e versões anteriores

Se o SQL Server usa um plano serial, ele usará apenas um processador. No entanto, se o SQL Server usa o paralelismo, ele deve usar todos os processadores configurados (conforme determinado pela configuração de dica de consulta MAXDOP) para a execução de um plano paralelo. Por exemplo, se você usar MAXDOP = 0 em um servidor de 32 vias, SQL Server tenta usar todos os 32 processadores mesmo que 7 processadores podem executar o trabalho mais eficiente em comparação com um plano de serial que usa apenas um processador. Devido a esse comportamento tudo ou nada, se o SQL Server usa o plano paralelo e não restringir a dica de consulta MAXDOP para um valor máximo de 8, o tempo exigido pelo SQL Server para coordenar todos os processadores em um servidor high-end supera as vantagens de usar um plano paralelo.

A configuração MAXDOP aplica-se a cada etapa do plano. Cada etapa usará uma CPU ou o número de CPUs que é especificado pelo MAXDOP e nunca nada entre. Se as etapas executadas em paralelo, o número de segmentos usados pela consulta pode exceder a configuração MAXDOP.

A definição de MAXDOP, consulte o tópico "Max grau de paralelismo a opção" ou o "Grau de paralelismo" no SQL Server.

Para entender o funcionamento do paralelismo, consulte a seção "Processamento de consulta paralela" no tópico "Arquitetura de processador de consulta" nos Manuais Online do SQL Server.

Informações adicionais

Para obter mais informações sobre consultas em paralelo, acesse o seguinte site da Microsoft Developer Network (MSDN):
Grau de paralelismo (http://msdn.microsoft.com/en-us/library/ms188611.aspx )
Para informações sobre práticas recomendadas quando você estiver executando uma instância do SQL Server em computadores que tenham mais de 64 CPUs, consulte o seguinte tópico de Manuais Online do SQL Server:
Práticas recomendadas para a execução do SQL Server em computadores que tenham mais de 64 CPUs (http://msdn.microsoft.com/en-us/library/ee210547(SQL.105).aspx)
Para instâncias do SQL Server em execução em processadores hyperthreading ativado, siga as recomendações no seguinte artigo da Base de dados de Conhecimento da Microsoft:
322385  (http://support.microsoft.com/kb/322385/ ) Suporte do SQL Server em um ambiente de threads
Observação: Essa recomendação não pode aplicar a chips para processadores mais recentes, como aqueles da família Intel Nehalem.

Para obter informações sobre o número de processadores que são usados pelo SQL Server e o número de nós NUMA reconhecidos pelo SQL Server, use o sys.dm_os_sys_info de modos de exibição de gerenciamento dinâmico e sys.dm_os_nodes. Para obter mais informações sobre a configuração de MAXDOP é aplicada usando o Resource Governor, revise as informações no sys.dm_resource_governor_workload_groups de modo de exibição de gerenciamento dinâmico e a seguinte mensagem no blog da equipe de suporte do SQL Server:

Usam configuração de "Grau máximo de paralelismo" do servidor, MAX_DOP do Resource Governor e dica de consulta MAXDOP – que um deve SQL Server? (http://blogs.msdn.com/b/psssql/archive/2015/04/28/server-s-max-degree-of-parallelism-setting-resource-governor-s-max-dop-and-query-hint-maxdop-which-one-should-sql-server-use.aspx)

Para obter mais informações sobre os produtos e ferramentas que verificam automaticamente a essa condição na sua instância do SQL Server e sobre as versões do produto SQL Server, consulte a tabela a seguir:
Recolher esta tabelaExpandir esta tabela
Software de regraTítulo de regraDescrição da regraVersões do produto em relação à qual a regra será avaliada
SQL Server 2008 R2 Best Practice Analyzer (SQL Server 2008 R2 BPA)Grau de paralelismo não está definida para o valor recomendadoO SQL Server 2008 R2 Best Practice Analyzer (SQL Server 2008 R2 BPA) fornece uma regra para detectar essas condições em que o valor apropriado para a opção de grau máximo de paralelismonão está configurado com o número de CPUs em um nó NUMA e, também, a configuração de carga de trabalho do Resource Governor para MAXDOP. A ferramenta BPA do SQL Server 2008 R2 oferece suporte ao SQL Server 2008 e do SQL Server 2008 R2.

Se você executar a ferramenta BPA e encontrar um aviso de "Mecanismo de banco de dados - grau de paralelismo não está definido para o valor recomendado", compare o valor da opçãograu máximo de paralelismoe o valor MAXDOP Resource Governor carga de trabalho com os valores recomendados que são especificados na seção "Resumo" e "Mais informações".
SQL Server 2008, SQL Server 2008 R2
Analisador de práticas recomendadas (BPA do SQL Server 2012) do SQL Server 2012Grau de paralelismo não está definida para o valor recomendadoO SQL Server 2012 Best Practice Analyzer (SQL Server 2012 BPA) fornece uma regra para detectar essas condições em que o valor apropriado para a opção de grau máximo de paralelismonão está configurado com o número de CPUs em um nó NUMA e, também, a configuração de carga de trabalho do Resource Governor para MAXDOP.

Se você executar a ferramenta BPA e encontrar um aviso de "Mecanismo de banco de dados - grau de paralelismo não está definido para o valor recomendado", compare o valor da opçãograu máximo de paralelismoe o valor MAXDOP Resource Governor carga de trabalho com os valores recomendados que são especificados na seção "Resumo" e "Mais informações".
SQL Server 2012

A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Express
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2008 R2 Express with Advanced Services
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Enterprise Evaluation
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Express with Advanced Services
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Express Edition with Advanced Services
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Enterprise Evaluation Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2014 Business Intelligence
  • Microsoft SQL Server 2014 Developer
  • Microsoft SQL Server 2014 Enterprise
  • Microsoft SQL Server 2014 Enterprise Core
  • Microsoft SQL Server 2014 Express
  • Microsoft SQL Server 2014 Standard
  • Microsoft SQL Server 2014 Web
Palavras-chave: 
kbinfo kbmt KB2806535 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido pelo software de tradução automática da Microsoft e eventualmente pode ter sido editado pela Microsoft Community através da tecnologia Community Translation Framework (CTF) ou por um tradutor profissional. A Microsoft oferece artigos traduzidos automaticamente por software, por tradutores profissionais e editados pela comunidade para que você tenha acesso a todos os artigos de nossa Base de Conhecimento em diversos idiomas. No entanto, um artigo traduzido pode conter erros de vocabulário, sintaxe e/ou gramática. A Microsoft não é responsável por qualquer inexatidão, erro ou dano causado por qualquer tradução imprecisa do conteúdo ou por seu uso pelos nossos clientes.
Clique aqui para ver a versão em Inglês deste artigo: 2806535  (http://support.microsoft.com/kb/2806535/en-us/ )
Compartilhar
Opções de suporte adicionais
Fóruns de Suporte do Microsoft Community
Contate-nos diretamente
Localize um parceiro certificado da Microsoft
Microsoft Store