Compartilhar via


Configurar a opção cost threshold for parallelism de configuração de servidor

Este tópico descreve como configurar a opção de configuração de servidor cost threshold for parallelism no SQL Server 2012 usando o SQL Server Management Studio ou o Transact-SQL. A opção cost threshold for parallelism especifica o limite no qual o SQL Server cria e executa planos paralelos para consultas. O SQL Server cria e executa um plano paralelo para uma consulta somente quando o custo estimado para executar um plano serial para a mesma consulta é mais alto que o valor definido em cost threshold for parallelism. O custo faz referência a um tempo decorrido estimado em segundos, exigido para a execução do plano serial em uma configuração de hardware específica. A opção cost threshold for parallelism pode ser definida como qualquer valor de 0 a 32767. O valor padrão é 5.

Neste tópico

  • Antes de começar:

    Limitações e restrições

    Recomendações

    Segurança

  • Para configurar a opção cost threshold for parallelism, usando:

    SQL Server Management Studio

    Transact-SQL

  • Acompanhamento:  depois de configurar a opção cost threshold for parallelism

Antes de começar

Limitações e restrições

  • O custo faz referência a um tempo decorrido estimado em segundos, exigido para a execução do plano serial em uma configuração de hardware específica. Defina apenas cost threshold for parallelism em multiprocessadores simétricos.

  • O SQL Server ignora o valor do cost threshold for parallelism nas seguintes condições:

    • Seu computador só tem um processador lógico.

    • Só um único processador lógico está disponível para o SQL Server por causa da opção de configuração affinity mask.

    • A opção max degree of parallelism está definida como 1.

Um processador lógico é a unidade básica de hardware de processador que permite que o sistema operacional despache uma tarefa ou execute um contexto de thread. Cada processador lógico pode executar somente um contexto de thread de cada vez. O núcleo do processador é o circuito que fornece capacidade para decodificar e executar instruções. O núcleo de um processador pode conter um ou mais processadores lógicos. A consulta Transact-SQL a seguir pode ser usada para obter informações de CPU para o sistema.

SELECT (cpu_count / hyperthread_ratio) AS PhysicalCPUs, 
cpu_count AS logicalCPUs 
FROM sys.dm_os_sys_info

Recomendações

  • Essa é uma opção avançada e deve ser alterada somente por um administrador de banco de dados experiente ou técnico certificado do SQL Server.

  • Em certos casos, pode ser escolhido um plano paralelo, embora o plano de custo da consulta seja menor do que o valor atual do cost threshold for parallelism. Isso pode acontecer pois a decisão de usar um plano paralelo ou serial tem base em uma estimativa de custo fornecida antes que a otimização completa seja concluída

Segurança

Permissões

Permissões de execução sem parâmetros ou com somente o primeiro parâmetro em sp_configure 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 instrução RECONFIGURE, o usuário deve ter a permissão ALTER SETTINGS em nível de servidor. A permissão de ALTER SETTINGS é implicitamente mantida pelas funções de servidor fixas sysadmin e serveradmin.

Ícone de seta usado com o link Voltar ao Início[Top]

Usando o SQL Server Management Studio

Para configurar a opção cost threshold for parallelism

  1. No Pesquisador de Objetos, clique com o botão direito do mouse em um servidor e selecione Propriedades.

  2. Clique no nó Avançado.

  3. Em Paralelismo, altere a opção CostThresholdForParallelism para o valor desejado. Digite ou selecione um valor de 0 a 32767.

Ícone de seta usado com o link Voltar ao Início[Top]

Usando Transact-SQL

Para configurar a opção cost threshold for parallelism

  1. Conecte-se ao Mecanismo de Banco de Dados.

  2. Na barra Padrão, clique em Nova Consulta.

  3. Copie e cole o exemplo a seguir na janela de consulta e clique em Executar. Este exemplo mostra como usar sp_configure para definir o valor da opção cost threshold for parallelism como 10 segundos.

USE AdventureWorks2012 ;
GO
EXEC sp_configure 'show advanced options', 1 ;
GO
RECONFIGURE
GO
EXEC sp_configure 'cost threshold for parallelism', 10 ;
GO
RECONFIGURE
GO

Para obter mais informações, consulte Opções de configuração de servidor.

Ícone de seta usado com o link Voltar ao Início[Top]

Acompanhamento: depois de configurar a opção cost threshold for parallelism

A configuração entra em vigor imediatamente sem reiniciar o servidor.

Ícone de seta usado com o link Voltar ao Início[Top]

Consulte também

Referência

dicas de consulta (Transact-SQL)

ALTER WORKLOAD GROUP (Transact-SQL)

RECONFIGURE (Transact-SQL)

sp_configure (Transact-SQL)

Conceitos

Configurar operações de índice paralelo

Opção affinity mask de configuração de servidor

Opções de configuração de servidor