Configurare l'opzione di configurazione del server cost threshold for parallelismConfigure the cost threshold for parallelism Server Configuration Option

In questo argomento si applica a: SìSQL ServernonDatabase SQL di AzurenonAzure SQL Data Warehouse non Parallel Data WarehouseTHIS TOPIC APPLIES TO: yesSQL ServernoAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

In questo argomento si illustra come configurare l'opzione di configurazione del server cost threshold for parallelism in SQL Server 2017SQL Server 2017 utilizzando SQL Server Management StudioSQL Server Management Studio o Transact-SQLTransact-SQL.This topic describes how to configure the cost threshold for parallelism server configuration option in SQL Server 2017SQL Server 2017 by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL. Con l'opzione cost threshold for parallelism è possibile specificare la soglia oltre la quale in SQL ServerSQL Server vengono creati ed eseguiti piani paralleli per le query.The cost threshold for parallelism option specifies the threshold at which SQL ServerSQL Server creates and runs parallel plans for queries. SQL ServerSQL 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. creates and runs a parallel plan for a query only when the estimated cost to run a serial plan for the same query is higher than the value set in cost threshold for parallelism. Si tratta del costo stimato per l'esecuzione del piano seriale in una configurazione hardware specifica e non è riferito a una determinata unità di tempo.The cost refers to an estimated cost required to run the serial plan on a specific hardware configuration, and is not a unit of time. L'opzione cost threshold for parallelism può essere impostata su qualsiasi valore compreso tra 0 e 32767.The cost threshold for parallelism option can be set to any value from 0 through 32767. Il valore predefinito è 5.The default value is 5.

Contenuto dell'argomentoIn This Topic

Prima di iniziareBefore You Begin

Limitazioni e restrizioniLimitations and Restrictions

  • Il costo indica un'unità di costo astratto e non un'unità di tempo stimata.The cost refers to an abstracted unit of cost and not a unit of estimated time. Impostare l'opzione cost threshold for parallelism esclusivamente in sistemi basati su multiprocessori simmetrici.Only set cost threshold for parallelism on symmetric multiprocessors.

  • SQL ServerSQL Server il valore dell'opzione cost threshold for parallelism verrà ignorato nei casi seguenti: ignores the cost threshold for parallelism value under the following conditions:

    • Il computer in uso è dotato di un solo processore.Your computer has only one logical processor.

    • È disponibile un solo processore logico per SQL ServerSQL Server a causa dell'opzione di configurazione affinity mask .Only a single logical processor is available to SQL ServerSQL Server because of the affinity mask configuration option.

    • L'opzione max degree of parallelism è impostata su 1.The max degree of parallelism option is set to 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.A logical processor is the basic unit of processor hardware that allows the operating system to dispatch a task or execute a thread context. Ogni processore logico può eseguire un solo contesto di thread per volta.Each logical processor can execute only one thread context at a time. Il core del processore è il set di circuiti che consente di decodificare ed eseguire istruzioni.The processor core is the circuitry that provides ability to decode and execute instructions. Un core di processore può contenere uno o più processori logici.A processor core may contain one or more logical processors. La query Transact-SQLTransact-SQL seguente può essere utilizzata per l'acquisizione di informazioni sulla CPU del sistema.The following Transact-SQLTransact-SQL query can be used for obtaining CPU information for the system.

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

IndicazioniRecommendations

  • Questa opzione è avanzata e la relativa modifica è riservata ad amministratori di database esperti o a tecnici dotati di certificazione per SQL ServerSQL Server .This option is an advanced option and should be changed only by an experienced database administrator or certified SQL ServerSQL Server technician.

  • 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 .In certain cases, a parallel plan may be chosen even though the query's cost plan is less than the current cost threshold for parallelism value. La scelta tra piano parallelo o seriale è infatti basata su una stima dei costi elaborata prima del completamento dell'ottimizzazione.This can happen because the decision to use a parallel or serial plan is based on a cost estimate provided before the full optimization is complete.

SicurezzaSecurity

AutorizzazioniPermissions

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.Execute permissions on sp_configure with no parameters or with only the first parameter are granted to all users by default. Per eseguire sp_configure con entrambi i parametri per la modifica di un'opzione di configurazione o per l'esecuzione dell'istruzione RECONFIGURE, a un utente deve essere concessa l'autorizzazione a livello di server ALTER SETTINGS.To execute sp_configure with both parameters to change a configuration option or to run the RECONFIGURE statement, a user must be granted the ALTER SETTINGS server-level permission. L'autorizzazione ALTER SETTINGS è assegnata implicitamente ai ruoli predefiniti del server sysadmin e serveradmin .The ALTER SETTINGS permission is implicitly held by the sysadmin and serveradmin fixed server roles.

Utilizzo di SQL Server Management StudioUsing SQL Server Management Studio

Per configurare l'opzione cost threshold for parallelismTo configure the cost threshold for parallelism option

  1. In Esplora oggetti fare clic con il pulsante destro del mouse su un server e scegliere Proprietà.In Object Explorer, right-click a server and select Properties.

  2. Fare clic sul nodo Avanzate .Click the Advanced node.

  3. In Parallelismoimpostare l'opzione CostThresholdForParallelism sul valore desiderato.Under Parallelism, change the CostThresholdForParallelism option to the value you want. Digitare o selezionare un valore compreso tra 0 e 32767.Type or select a value from 0 to 32767.

Utilizzo di Transact-SQLUsing Transact-SQL

Per configurare l'opzione cost threshold for parallelismTo configure the cost threshold for parallelism option

  1. Connettersi al Motore di databaseDatabase Engine.Connect to the Motore di databaseDatabase Engine.

  2. Dalla barra Standard fare clic su Nuova query.From the Standard bar, click New Query.

  3. Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui.Copy and paste the following example into the query window and click Execute. Questo esempio illustra come usare sp_configure per impostare il valore dell'opzione cost threshold for parallelism su 10.This example shows how to use sp_configure to set the value of the cost threshold for parallelism option to 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 altre informazioni, vedere Opzioni di configurazione del server (SQL Server).For more information, see Server Configuration Options (SQL Server).

Completamento: Dopo la configurazione dell'opzione cost threshold for parallelismFollow Up: After you configure the cost threshold for parallelism option

L'impostazione diventa effettiva immediatamente senza dover riavviare il server.The setting takes effect immediately without restarting the server.

Vedere ancheSee Also

Configurazione di operazioni parallele sugli indici Configure Parallel Index Operations
Hint di query (Transact-SQL) Query Hints (Transact-SQL)
ALTER WORKLOAD GROUP (Transact-SQL) ALTER WORKLOAD GROUP (Transact-SQL)
Opzione di configurazione del server affinity mask affinity mask Server Configuration Option
RECONFIGURE (Transact-SQL) RECONFIGURE (Transact-SQL)
Opzioni di configurazione del server (SQL Server) Server Configuration Options (SQL Server)
sp_configure (Transact-SQL)sp_configure (Transact-SQL)