Configurare l'opzione di configurazione del server cost threshold for parallelism

In questo argomento si illustra come configurare l'opzione di configurazione del server cost threshold for parallelism in SQL Server 2012 utilizzando SQL Server Management Studio o Transact-SQL. Con l'opzione cost threshold for parallelism è possibile specificare la soglia oltre la quale in SQL Server vengono creati ed eseguiti piani paralleli per le query. In SQL Server viene creato ed eseguito un piano parallelo per una query solo quando il costo stimato per l'esecuzione di un piano seriale per la stessa query è più elevato del valore impostato in cost threshold for parallelism. Il costo equivale al tempo (in secondi) stimato per l'esecuzione del piano seriale in una configurazione hardware specifica. L'opzione cost threshold for parallelism può essere impostata su qualsiasi valore compreso tra 0 e 32767. Il valore predefinito è 5.

Contenuto dell'argomento

  • Prima di iniziare:

    Limitazioni e restrizioni

    Consigli

    Sicurezza

  • Per configurare l'opzione cost threshold for parallelism utilizzando:

    SQL Server Management Studio

    Transact-SQL

  • Completamento: Dopo la configurazione dell'opzione cost threshold for parallelism

Prima di iniziare

Limitazioni e restrizioni

  • Il costo equivale al tempo (in secondi) stimato per l'esecuzione del piano seriale in una configurazione hardware specifica. Impostare l'opzione cost threshold for parallelism esclusivamente in sistemi basati su multiprocessori simmetrici.

  • In SQL Server il valore dell'opzione cost threshold for parallelism verrà ignorato nei casi seguenti:

    • Il computer in uso è dotato di un solo processore.

    • È disponibile un solo processore logico per SQL Server in conseguenza dell'opzione di configurazione affinity mask.

    • L'opzione max degree of parallelism è impostata su 1.

Un processore logico è l'unità di base dell'hardware del processore che consente al sistema operativo di inviare un'attività o eseguire un contesto di thread. Ogni processore logico può eseguire un solo contesto di thread per volta. Il core del processore è il set di circuiti che consente di decodificare ed eseguire istruzioni. Un core di processore può contenere uno o più processori logici. La query Transact-SQL seguente può essere utilizzata per l'acquisizione di informazioni sulla CPU del sistema.

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

Consigli

  • Questa opzione è avanzata e la relativa modifica è riservata ad amministratori di database esperti o a tecnici dotati di certificazione per SQL Server.

  • In determinati casi il piano parallelo viene scelto anche se il piano costi di una query risulta inferiore al valore corrente di cost threshold for parallelism. La scelta tra piano parallelo o seriale è infatti basata su una stima dei costi elaborata prima del completamento dell'ottimizzazione.

Sicurezza

Autorizzazioni

Le autorizzazioni di esecuzione per sp_configure senza alcun parametro o solo con il primo parametro vengono assegnate per impostazione predefinita a tutti gli utenti. Per eseguire sp_configure con entrambi i parametri per modificare un'opzione di configurazione o per eseguire l'istruzione RECONFIGURE, a un utente deve essere concessa l'autorizzazione a livello di server ALTER SETTINGS. L'autorizzazione ALTER SETTINGS è assegnata implicitamente ai ruoli predefiniti del server sysadmin e serveradmin.

Icona freccia utilizzata con il collegamento Torna all'inizio[Top]

Utilizzo di SQL Server Management Studio

Per configurare l'opzione cost threshold for parallelism

  1. In Esplora oggetti fare clic con il pulsante destro del mouse su un server e scegliere Proprietà.

  2. Fare clic sul nodo Avanzate.

  3. In Parallelismo impostare l'opzione CostThresholdForParallelism sul valore desiderato. Digitare o selezionare un valore compreso tra 0 e 32767.

Icona freccia utilizzata con il collegamento Torna all'inizio[Top]

Utilizzo di Transact-SQL

Per configurare l'opzione cost threshold for parallelism

  1. Connettersi al Motore di database.

  2. Dalla barra Standard fare clic su Nuova query.

  3. Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui. In questo esempio si illustra come utilizzare sp_configure per impostare il valore dell'opzione cost threshold for parallelism su 10 secondi.

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

Per ulteriori informazioni, vedere Opzioni di configurazione del server.

Icona freccia utilizzata con il collegamento Torna all'inizio[Top]

Completamento: Dopo la configurazione dell'opzione cost threshold for parallelism

L'impostazione diventa effettiva immediatamente senza dover riavviare il server.

Icona freccia utilizzata con il collegamento Torna all'inizio[Top]

Vedere anche

Riferimento

Hint per la query (Transact-SQL)

ALTER WORKLOAD GROUP (Transact-SQL)

RECONFIGURE (Transact-SQL)

sp_configure (Transact-SQL)

Concetti

Configurazione di operazioni parallele sugli indici

Opzione di configurazione del server affinity mask

Opzioni di configurazione del server