• 03/02/2017
  • 3 minuti per leggere
    • m
    • M
    • J
    • r
    • M
    • +3

Si applica a: yesSQL Server (tutte le versioni supportate)

Questo argomento descrive come configurare l’opzione di configurazione del server soglia di costo per il parallelismo in SQL Server utilizzando SQL Server Management Studio o Transact-SQL. L’opzione soglia di costo per il parallelismo specifica la soglia alla quale SQL Server crea ed esegue piani paralleli per le query. SQL Server crea ed esegue un piano parallelo per una query solo quando il costo stimato per eseguire un piano seriale per la stessa query è superiore al valore impostato in soglia di costo per il parallelismo. Il costo si riferisce ad un costo stimato richiesto per eseguire il piano seriale su una specifica configurazione hardware, e non è un’unità di tempo. L’opzione soglia di costo per il parallelismo può essere impostata a qualsiasi valore da 0 a 32767. Il valore predefinito è 5.

In questo argomento

  • Prima di iniziare:

    Limitazioni e restrizioni

    Raccomandazioni

    Sicurezza

  • Per configurare l’opzione soglia di costo per parallelismo, usando:

    SQL Server Management Studio

    Transact-SQL

  • Follow Up: Dopo aver configurato l’opzione soglia di costo per il parallelismo

Prima di iniziare

Limitazioni e restrizioni

  • Il costo si riferisce ad una unità astratta di costo e non ad una unità di tempo stimato. Impostare la soglia di costo per il parallelismo solo su multiprocessori simmetrici.

  • SQL Server ignora il valore della soglia di costo per il parallelismo nelle seguenti condizioni:

    • Il computer ha un solo processore logico.

    • Solo un singolo processore logico è disponibile per SQL Server a causa dell’opzione di configurazione della maschera di affinità.

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

Un processore logico è l’unità base dell’hardware del processore che permette al sistema operativo di inviare un compito o eseguire un contesto di thread. Ogni processore logico può eseguire solo un contesto di thread alla volta. Il core del processore è il circuito che fornisce la capacità di decodificare ed eseguire le istruzioni. Un core del processore può contenere uno o più processori logici. La seguente query Transact-SQL può essere utilizzata per ottenere informazioni sulla CPU del sistema.

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

Raccomandazioni

  • Questa opzione è un’opzione avanzata e dovrebbe essere modificata solo da un amministratore di database esperto o da un professionista certificato di SQL Server.

  • In alcuni casi, un piano parallelo può essere scelto anche se il piano dei costi della query è inferiore al valore corrente della soglia dei costi per il parallelismo. Questo può accadere perché la decisione di usare un piano parallelo o seriale è basata su una stima dei costi fornita in precedenza nel processo di ottimizzazione. Per maggiori informazioni, fare riferimento alla Query Processing Architecture Guide.

  • Mentre il valore predefinito di 5 è adeguato per la maggior parte dei sistemi, un valore diverso può essere appropriato. Esegui test applicativi con valori più alti e più bassi se necessario per ottimizzare le prestazioni dell’applicazione.

Sicurezza

Permessi

I permessi di esecuzione su sp_configure senza parametri o con solo il primo parametro sono concessi a tutti gli utenti per impostazione predefinita. Per eseguire sp_configure con entrambi i parametri per cambiare un’opzione di configurazione o per eseguire l’istruzione RECONFIGURE, un utente deve avere il permesso a livello di server ALTER SETTINGS. Il permesso ALTER SETTINGS è implicitamente detenuto dai ruoli server fissi sysadmin e serveradmin.

Usando SQL Server Management Studio

Per configurare la soglia di costo per l’opzione di parallelismo

  1. In Object Explorer, fai clic con il tasto destro su un server e seleziona Proprietà.

  2. Fai clic sul nodo Avanzate.

  3. Sotto Parallelismo, cambia l’opzione Soglia di costo per il parallelismo al valore che vuoi. Digita o seleziona un valore da 0 a 32767.

Usando Transact-SQL

Per configurare l’opzione soglia di costo per il parallelismo

  1. Connettiti al Database Engine.

  2. Dalla barra standard, clicca su Nuova query.

  3. Copia e incolla il seguente esempio nella finestra della query e clicca su Esegui. Questo esempio mostra come usare sp_configure per impostare il valore dell’opzione cost threshold for parallelism su 10.

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 maggiori informazioni, vedi Opzioni di configurazione del server (SQL Server).

Follow Up: Dopo aver configurato la soglia di costo per l’opzione di parallelismo

L’impostazione ha effetto immediatamente senza riavviare il server.

Vedi anche

Configura le operazioni dell’indice parallelo
Consigli per le query (Transact-SQL)
ALTER WORKLOAD GROUP (Transact-SQL)
Affinity mask Opzione di configurazione del server
RECONFIGURE (Transact-SQL)
Opzioni di configurazione del server (SQL Server)
sp_configure (Transact-SQL)

.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.