DetailPage-MSS-KB

Base de Dados de Conhecimento

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 de grau máximo de paralelismo (MAXDOP) do Microsoft SQL Server controla o número de processadores que são utilizados para a execução de uma consulta num plano paralelo. Esta opção determina os recursos de computação e o thread que são utilizados para os operadores de plano de consulta que executam o trabalho em paralelo. Dependendo se o SQL Server tiver sido configurado num computador de multiprocessamento simétrico (SMP), um computador de acesso (in) de memória não uniforme ou processadores hyperthreading activado, tem de configurar a opção de grau máximo de paralelismo adequadamente. Este artigo descreve as orientações gerais que pode utilizar para configurar a opção de grau máximo de paralelismo para SQL Server quando utiliza o procedimento armazenado do sistema sp_configure .

As sugestões de consulta de Transact-SQL Opção (MAXDOP) podem substituir a opção de grau máximo de paralelismono valor desp_configure , se a consulta especificar esta opção. No SQL Server 2000, a substituição só tem efeito se o valor especificado na sugestão é inferior ou igual ao valor de sp_configure . No SQL Server 2005 e versões posteriores, a substituição tem sempre efeito. No SQL Server 2008 e versões posteriores, se o valor MAXDOP exceder o valor que foi configurado utilizando o Resource Governor, o motor de base de dados utiliza o valor de MAXDOP Resource Governor. Todas as regras de semântica que são utilizadas com a opção de grau máximo de paralelismosão aplicáveis quando utiliza a dica de consulta MAXDOP. As outras duas opções que podem substituir ou afectar a definição de MAXDOP são os seguintes:
  • IN suave
  • Índice paralela

Mais Informação

Nota A opção de configuração de grau máximo de paralelismonão limita o número de processadores que o SQL Server utiliza. Para configurar o número de processadores que utiliza o SQL Server, utilize a opção de configuração de máscara de afinidade .

Utilize as seguintes directrizes quando configura o MAXDOPvalue.

SQL Server 2005 e versões posteriores

Reduzir esta tabelaExpandir esta tabela
Servidor com o único nó NUMAMenos de oito processadores lógicosManter MAXDOP ou abaixo n. º de processadores lógicos
Servidor com o único nó NUMASuperior a 8 processadores lógicosManter MAXDOP 8
Servidor com vários nós inMenos de oito processadores lógicos por nó NUMAManter MAXDOP ou abaixo n. º de processadores lógicos por nó NUMA
Servidor com vários nós inSuperior a 8 processadores lógicos por nó NUMAManter MAXDOP 8



Nota
utilizar estas linhas de orientação quando definir a opção de grau máximo de paralelismopara Resource Governor grupos de carga de trabalho.

Além disso, o valor máximo de 8 mencionada no presente enquadramento é aplicável para actividade normal do SQL Server e o overhead dos operadores do exchange que são utilizados em planos de consulta paralela. Este valor, pode variar consoante os seus padrões de aplicação específica e a actividade em simultâneo na instância do SQL Server. Por exemplo, considere as seguintes situações:
  • Se tiver muito pequeno número de consultas que estão a executar em simultâneo em comparação com o número de processadores, pode definir o valor MAXDOP para um valor maior. Por exemplo, pode definir o valor MAXDOP a 16.
  • Se é um têm grande número de consultas que estão a executar em simultâneo em comparação com o número de processadores, pode definir o valor MAXDOP para um valor mais pequeno. Por exemplo, pode definir o valor MAXDOP para 4.
Nota Qualquer valor que considere a utilização deve ser cuidadosamente testado com o padrão de consultas ou actividade de aplicação específica antes de implementar a esse valor num servidor de produção.

SQL Server 2000 e versões anteriores

Se o SQL Server utiliza um plano de série, irá utilizar apenas um processador. No entanto, se o SQL Server utiliza o paralelismo, terá de utilizar todos os processadores configurados (conforme determinado pela configuração de sugestão de consulta MAXDOP) para a execução de um plano paralelo. Por exemplo, se utilizar MAXDOP = 0 num servidor 32 vias, tentativas do SQL Server para utilizar todos os 32 processadores mesmo 7 processadores podem executar a tarefa mais eficiente em comparação com um plano de série que utiliza apenas um processador. Devido a este comportamento tipo tudo ou nada, se o SQL Server utiliza o plano paralelo e se de que não restrinja a dica de consulta MAXDOP para um valor máximo de 8. o, o tempo que é necessário pelo SQL Server para coordenar todos os processadores num servidor de topo de gama superam as vantagens da utilização de um plano paralelo.

A definição de MAXDOP aplica-se a cada passo do plano. Cada passo irá utilizar uma CPU ou o número de CPUs que é especificado por MAXDOP e nunca nada entre elas. Se os passos a executar em paralelo, o número de threads que são utilizados pela consulta pode exceder a definição de MAXDOP.

Para a definição de MAXDOP, consulte o tópico "Máximo grau de paralelismo opção" ou o tópico "Grau de paralelismo" no SQL Server.

Para compreender como funciona o paralelismo, consulte a secção "Paralela consulta transformação" sob o tópico "Arquitectura de processador de consulta" no SQL Server Books Online.

AdditionalInformation

Para mais informações sobre consultas paralelas, vá para o seguinte Web site da Microsoft Developer Network (MSDN):
Grau de paralelismo (http://msdn.microsoft.com/en-us/library/ms188611.aspx )
Para informações sobre as melhores práticas quando estiver a executar uma instância do SQL Server em computadores que tenham mais do que 64 CPUs, consulte o seguinte tópico de SQL Server Books Online:Para instâncias do SQL Server em execução no processadores hyperthreading activados, siga as recomendações no seguinte artigo na Microsoft Knowledge Base:
322385  (http://support.microsoft.com/kb/322385/ ) Suporte do SQL Server num ambiente de hyper-threaded
Nota Esta recomendação não pode aplicar a mais recentes chips de processador, tais como as da família Intel Nehalem.

Para obter informações sobre o número de processadores que são utilizados pelo SQL Server e o número de nós in que são reconhecidos pelo SQL Server, utilize a gestão dinâmica vistas sys.dm_os_sys_info e sys.dm_os_nodes. Para mais informações sobre a definição MAXDOP é implementada utilizando Resource Governor, reveja as informações do sys.dm_resource_governor_workload_groups de vista de gestão dinâmica e a seguinte mensagem no blogue da equipa de suporte de servidor de SQL:

Utilizam definição de "Máximo grau de paralelismo" do servidor, Resource Governor MAX_DOP e a dica de consulta MAXDOP – qual 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 mais informações sobre os produtos ou ferramentas que verificam automaticamente para esta condição à sua instância do SQL Server e sobre as versões do produto SQL Server, consulte a tabela seguinte:
Reduzir esta tabelaExpandir esta tabela
Software de regraTítulo de regraDescrição da regraVersões de produtos contra os quais a regra é avaliada
Analisador de prática SQL Server 2008 R2 melhores (SQL Server 2008 R2 BPA)Grau de paralelismo não está definido para o valor recomendadoO SQL Server 2008 R2 prática analisador de melhores (SQL Server 2008 R2 BPA) fornece uma regra para detectar estas condições em que o valor apropriado para a opção de grau máximo de paralelismonão está configurado em conjunto com o número de CPUs num nó NUMA e também a configuração de carga de trabalho Resource Governor para MAXDOP. O SQL Server 2008 R2 BPA suporta o SQL Server 2008 e o SQL Server 2008 R2.

Se executar a ferramenta BPA e encontrar um aviso de "Motor de base de dados - grau de paralelismo não está definido para o valor recomendado", compare o valor de opção degrau máximo de paralelismoe o valor MAXDOP de carga de trabalho Resource Governor com os valores recomendados que são especificados nas secções "Sumário" e "Mais informação".
SQL Server 2008, SQL Server 2008 R2
Com o formato de analisador de melhor práticas do SQL Server 2012 (BPA de 2012 do SQL Server)Grau de paralelismo não está definido para o valor recomendadoO SQL Server 2012 prática analisador de melhores (BPA de 2012 do SQL Server) fornece uma regra para detectar estas condições em que o valor apropriado para o máximo grau de paralelismoopção não está configurado em conjunto com o número de CPUs num nó NUMA e também a configuração de carga de trabalho Resource Governor para MAXDOP.

Se executar a ferramenta BPA e encontrar um aviso de "Motor de base de dados - grau de paralelismo não está definido para o valor recomendado", compare o valor de opção degrau máximo de paralelismoe o valor MAXDOP de carga de trabalho Resource Governor com os valores recomendados que são especificados nas secções "Sumário" e "Mais informação".
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 2005 Server Enterprise
  • 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 por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática… erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 2806535  (http://support.microsoft.com/kb/2806535/en-us/ )
Partilhar
Opções de suporte adicionais
Fóruns de Suporte da Comunidade Microsoft
Contacte-nos directamente
Encontre um parceiro certificado Microsoft
Loja Microsoft