Configurare l'opzione di configurazione del server max degree of parallelismConfigure the max degree of parallelism Server Configuration Option

QUESTO ARGOMENTO SI APPLICA A:sìSQL Server (a partire dalla versione 2008)noDatabase SQL di AzurenoAzure SQL Data Warehouse noParallel Data Warehouse THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Questo argomento illustra come configurare l'opzione di configurazione del server max degree of parallelism (MAXDOP) in SQL Server 2017SQL Server 2017 usando SQL Server Management StudioSQL Server Management Studio o Transact-SQLTransact-SQL.This topic describes how to configure the max degree of parallelism (MAXDOP) server configuration option in SQL Server 2017SQL Server 2017 by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL. Quando un'istanza di SQL ServerSQL Server viene eseguita in un computer con più microprocessori o CPU, viene automaticamente rilevato il grado di parallelismo migliore, cioè il numero di processori utilizzati per eseguire una singola istruzione per l'esecuzione di ogni piano parallelo.When an instance of SQL ServerSQL Server runs on a computer that has more than one microprocessor or CPU, it detects the best degree of parallelism, that is, the number of processors employed to run a single statement, for each parallel plan execution. È possibile utilizzare l'opzione max degree of parallelism per limitare il numero di processori da utilizzare nell'esecuzione di piani paralleli.You can use the max degree of parallelism option to limit the number of processors to use in parallel plan execution. SQL ServerSQL Server valuta i piani di esecuzione parallela per query, operazioni DDL (Data Definition Language) sugli indici, inserimento parallelo, modifica colonna online, raccolta di statistiche parallela e popolamento dei cursori statici e gestiti da keyset. considers parallel execution plans for queries, index data definition language (DDL) operations, parallel insert, online alter column, parallel stats collectiuon, and static and keyset-driven cursor population.

Prima di iniziare Before You Begin

Limitazioni e restrizioni Limitations and Restrictions

  • Se l'opzione affinity mask non è impostata sul valore predefinito, il numero di processori disponibili per SQL ServerSQL Server in sistemi SMP (multiprocessori simmetrici, Symmetric Multiprocessor) potrebbe risultare ridotto.If the affinity mask option is not set to the default, it may restrict the number of processors available to SQL ServerSQL Server on symmetric multiprocessing (SMP) systems.

Indicazioni Recommendations

  • 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.

  • Per consentire al server di determinare il grado massimo di parallelismo, impostare questa opzione su 0, cioè il valore predefinito.To enable the server to determine the maximum degree of parallelism, set this option to 0, the default value. L'impostazione di grado massimo di parallelismo su 0 consente a SQL ServerSQL Server di utilizzare tutti i processori disponibili fino a un massimo di 64.Setting maximum degree of parallelism to 0 allows SQL ServerSQL Server to use all the available processors up to 64 processors. Per eliminare la generazione di piani paralleli, impostare max degree of parallelism su 1.To suppress parallel plan generation, set max degree of parallelism to 1. Impostare il valore su un numero compreso tra 1 e 32.767 per specificare il numero massimo di core del processore che può essere utilizzato per l'esecuzione di una singola query.Set the value to a number from 1 to 32,767 to specify the maximum number of processor cores that can be used by a single query execution. Se il valore è maggiore di quello dei processori disponibili, viene utilizzato il numero effettivo di processori disponibili.If a value greater than the number of available processors is specified, the actual number of available processors is used. Se il computer dispone di un unico processore, il valore di max degree of parallelism verrà ignorato.If the computer has only one processor, the max degree of parallelism value is ignored.

  • È possibile sostituire il valore di max degree of parallelism nelle query specificando l'hint per la query MAXDOP nell'istruzione per la query.You can override the max degree of parallelism value in queries by specifying the MAXDOP query hint in the query statement. Per altre informazioni, vedere Hint per la query (Transact-SQL).For more information, see Query Hints (Transact-SQL).

  • Le operazioni tramite cui viene creato o ricompilato un indice o eliminato un indice cluster possono richiedere un elevato utilizzo di risorse.Index operations that create or rebuild an index, or that drop a clustered index, can be resource intensive. È possibile sostituire il valore di max degree of parallelism per le operazioni sugli indici specificando l'opzione per gli indici MAXDOP nell'istruzione per l'indice.You can override the max degree of parallelism value for index operations by specifying the MAXDOP index option in the index statement. Il valore MAXDOP viene applicato all'istruzione al momento dell'esecuzione e non viene archiviato nei metadati dell'indice.The MAXDOP value is applied to the statement at execution time and is not stored in the index metadata. Per altre informazioni, vedere Configurazione di operazioni parallele sugli indici.For more information, see Configure Parallel Index Operations.

  • Oltre al parallelismo delle query e delle operazioni sugli indici, questa opzione controlla anche il parallelismo dei controlli DBCC CHECKTABLE, DBCC CHECKDB e DBCC CHECKFILEGROUP.In addition to queries and index operations, this option also controls the parallelism of DBCC CHECKTABLE, DBCC CHECKDB, and DBCC CHECKFILEGROUP. È possibile disabilitare i piani di esecuzione parallela per queste istruzioni utilizzando il flag di traccia 2528.You can disable parallel execution plans for these statements by using trace flag 2528. Per altre informazioni, vedere Flag di traccia (Transact-SQL).For more information, see Trace Flags (Transact-SQL).

Linee guida Guidelines

Usare le linee guida seguenti quando si configura il valore di configurazione del server max degree of parallelism:Use the following guidelines when you configure the max degree of parallelism server configuration value:

Server con un singolo nodo NUMAServer with single NUMA node Meno di 8 processori logiciLess than 8 logical processors Mantenere MAXDOP uguale o inferiore al numero di processori logiciKeep MAXDOP at or below # of logical processors
Server con un singolo nodo NUMAServer with single NUMA node Più di 8 processori logiciGreater than 8 logical processors Mantenere MAXDOP su 8Keep MAXDOP at 8
Server con più nodi NUMAServer with multiple NUMA nodes Meno di 8 processori logici per nodo NUMALess than 8 logical processors per NUMA node Mantenere MAXDOP uguale o inferiore al numero di processori logici per nodo NUMAKeep MAXDOP at or below # of logical processors per NUMA node
Server con più nodi NUMAServer with multiple NUMA nodes Più di 8 processori logici per nodo NUMAGreater than 8 logical processors per NUMA node Mantenere MAXDOP su 8Keep MAXDOP at 8

Sicurezza Security

Autorizzazioni Permissions

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 Studio Using SQL Server Management Studio

Per configurare l'opzione max degree of parallelismTo configure the max degree of parallelism option

  1. In Esplora oggettifare 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. Nella casella Max Degree of Parallelism selezionare il numero massimo di processori da utilizzare nell'esecuzione di piani paralleli.In the Max Degree of Parallelism box, select the maximum number of processors to use in parallel plan execution.

Utilizzo di Transact-SQL Using Transact-SQL

Per configurare l'opzione max degree of parallelismTo configure the max degree of 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 mostra come usare sp_configure per configurare l'opzione max degree of parallelism su 8.This example shows how to use sp_configure to configure the max degree of parallelism option to 8.

USE AdventureWorks2012 ;  
GO   
EXEC sp_configure 'show advanced options', 1;  
GO  
RECONFIGURE WITH OVERRIDE;  
GO  
EXEC sp_configure 'max degree of parallelism', 8;  
GO  
RECONFIGURE WITH OVERRIDE;  
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 max degree of parallelism Follow Up: After you configure the max degree of parallelism option

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

Vedere ancheSee Also

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) sp_configure (Transact-SQL) Server Configuration Options (SQL Server) sp_configure (Transact-SQL)
CREATE INDEX (Transact-SQL) CREATE INDEX (Transact-SQL)
ALTER INDEX (Transact-SQL) ALTER INDEX (Transact-SQL)
ALTER TABLE (Transact-SQL) ALTER TABLE (Transact-SQL)
DBCC CHECKTABLE (Transact-SQL) DBCC CHECKTABLE (Transact-SQL)
DBCC CHECKDB (Transact-SQL) DBCC CHECKDB (Transact-SQL)
DBCC CHECKFILEGROUP (Transact-SQL) DBCC CHECKFILEGROUP (Transact-SQL)
Configurazione di operazioni parallele sugli indici Configure Parallel Index Operations
Hint di query (Transact-SQL) Impostare le opzioni di indiceQuery Hints (Transact-SQL) Set Index Options
Indicazioni e linee guida per l'opzione di configurazione "max degree of parallelism" in SQL ServerRecommendations and guidelines for the "max degree of parallelism" configuration option in SQL Server