DetailPage-MSS-KB

Base de Dados de Conhecimento

ID do artigo: 2806535 - Última revisão: quarta-feira, 6 de fevereiro de 2013 - Revisão: 2.0

 

Nesta página

Sumário

O Microsoft SQL Server grau máximo de paralelismo Opção de configuração (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ê deve configurar o grau máximo de paralelismo opção adequadamente. Este artigo aborda as diretrizes gerais que você pode usar para configurar o grau máximo de paralelismo opção para SQL Server quando você usa o sistema sp_configure procedimento armazenado.

As Opção (MAXDOP) as dicas de consulta Transact-SQL podem substituir o grau máximo de paralelismoopção no valor sp_configure se a consulta especifica esta opção. No SQL Server 2000, a substituição tem efeito 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 o grau máximo de paralelismoopção são aplicáveis ao usar a dica de consulta MAXDOP. As outras duas opções que podem substituir ou afetará a configuração MAXDOP são da seguinte maneira:
  • NUMA suave
  • Índice paralelo

Mais Informações

Observação O grau máximo de paralelismo opção de configuração 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 o máscara de afinidade opção de configuração.

Use as seguintes diretrizes ao configurar o valor MAXDOP.

SQL Server 2005 e versões posteriores

  • Para servidores que usam mais de oito processadores, use a seguinte configuração:
    MAXDOP = 8
  • Para servidores que usam processadores de oito ou menos, use a seguinte configuração:
    MAXDOP = 0 paraN

    Observação Nessa configuração,N representa o número de processadores.
  • Para servidores que têm NUMA configurado, MAXDOP não deve exceder o número de CPUs que são atribuídos a cada nó NUMA.
  • Para servidores que tenham o hyperthreading ativado, o valor MAXDOP não deve exceder o número de processadores físicos.
  • Para servidores que têm NUMA configurado e hyperthreading ativado, o valor MAXDOP não deve exceder número de processadores físicos por nó NUMA.
Observação Utilize essas mesmas orientações ao definir o grau máximo de paralelismoopção para grupos de carga de trabalho do Gestor de recursos.

Além disso, o valor máximo de 8 mencionada nessas diretrizes é aplicável para atividade típica do SQL Server e a sobrecarga de operadores de exchange que são usados em planos de consulta paralela. Você pode variar esse valor máximo, dependendo de seus padrões de aplicativo específico e a 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 sendo executados 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 sendo executados 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ê considere o uso deve ser totalmente 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 posteriores

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 processadores de 32 mesmo 7 processadores podem executar o trabalho mais eficiente em comparação com um plano 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 irá usar uma CPU ou o número de CPUs que é especificado por 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.

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

Para entender como funciona o 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, vá para 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 têm mais de 64 CPUs, consulte o tópico Manuais Online do SQL Server a seguir:
Práticas recomendadas para a execução do SQL Server em computadores que têm mais de 64 CPUs (http://msdn.microsoft.com/en-us/library/ee210547(SQL.105).aspx)
Para instâncias do SQL Server que estão sendo executados em processadores hyperthreading ativado, siga as recomendações no seguinte artigo na Base de dados de Conhecimento da Microsoft:
322385  (http://support.microsoft.com/kb/322385/ ) Suporte do SQL Server em um ambiente hyper-threaded
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 que são 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 MAXDOP que é aplicada usando o Resource Governor, revise as informações na sys.dm_resource_governor_workload_groups de modo de exibição de gerenciamento dinâmico.

Para obter mais informações sobre os produtos ou 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 é definido como o valor recomendadoO SQL Server 2008 R2 Best Practice Analyzer (SQL Server 2008 R2 BPA) fornece uma regra para detectar essas condições onde o valor apropriado para o grau máximo de paralelismoopção não está configurada com o número de CPUs em um nó NUMA e também a configuração de carga de trabalho Resource Governor MAXDOP. O BPA do SQL Server 2008 R2 oferece suporte ao SQL Server 2008 e SQL Server 2008 R2.

Se você executa 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 ograu máximo de paralelismovalor de opção e o valor MAXDOP de carga de trabalho do Gestor de recursos com os valores recomendados são especificados nas seções "Resumo" e "Mais informações".
SQL Server 2008, SQL Server 2008 R2
SQL Server 2012 Best Practice Analyzer (SQL Server 2012 BPA)Grau de paralelismo não é definido como o valor recomendadoO SQL Server 2012 Best Practice Analyzer (SQL Server 2012 BPA) fornece uma regra para detectar essas condições onde o valor apropriado para grau máximo de paralelismoopção não está configurada com o número de CPUs em um nó NUMA e também a configuração de carga de trabalho Resource Governor MAXDOP.

Se você executa 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 ograu máximo de paralelismovalor de opção e o valor MAXDOP de carga de trabalho do Gestor de recursos com os valores recomendados são especificados nas seções "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
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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes 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