Configurare l'opzione di configurazione del server max degree of parallelism

In questo argomento si illustra come configurare l'opzione di configurazione del server max degree of parallelism in SQL Server 2012 utilizzando SQL Server Management Studio o Transact-SQL. Quando un'istanza di SQL 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. È possibile utilizzare l'opzione max degree of parallelism per limitare il numero di processori da utilizzare nell'esecuzione di piani paralleli. In SQL Server vengono valutati i piani di esecuzione parallela per le query, le operazioni DDL (Data Definition Language) sugli indici e il popolamento dei cursori statici e gestiti da keyset.

Contenuto dell'argomento

  • Prima di iniziare:

    Limitazioni e restrizioni

    Consigli

    Sicurezza

  • Per configurare l'opzione max degree of parallelism utilizzando:

    SQL Server Management Studio

    Transact-SQL

  • Completamento:  Dopo la configurazione dell'opzione max degree of parallelism

Prima di iniziare

Limitazioni e restrizioni

  • Se l'opzione affinity mask non è impostata sul valore predefinito, il numero di processori disponibili per SQL Server in sistemi SMP (Symmetric Multiprocessor) potrebbe risultare ridotto.

Consigli

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

  • Per consentire al server di determinare il grado massimo di parallelismo, impostare questa opzione su 0, cioè il valore predefinito. L'impostazione di grado massimo di parallelismo su 0 consente a SQL Server di utilizzare tutti i processori disponibili fino a un massimo di 64. Per eliminare la generazione di piani paralleli, impostare max degree of parallelism su 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. Se viene specificato un valore maggiore del numero di processori disponibili, viene utilizzato il numero effettivo di processori disponibili. Se il computer dispone di un unico processore, il valore di max degree of parallelism verrà ignorato.

  • È possibile sostituire il valore di max degree of parallelism nelle query specificando l'hint per la query MAXDOP nell'istruzione per la query. Per ulteriori informazioni, vedere Hint per la query (Transact-SQL).

  • Le operazioni tramite cui viene creato o ricompilato un indice o eliminato un indice cluster possono richiedere un elevato utilizzo di risorse. È 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. Il valore MAXDOP viene applicato all'istruzione al momento dell'esecuzione e non viene archiviato nei metadati dell'indice. Per ulteriori informazioni, vedere Configurazione di operazioni parallele sugli indici.

  • 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. È possibile disabilitare i piani di esecuzione parallela per queste istruzioni utilizzando il flag di traccia 2528. Per ulteriori informazioni, vedere Flag di traccia (Transact-SQL).

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[Torna all'inizio]

Utilizzo di SQL Server Management Studio

Per configurare l'opzione max degree of 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. Nella casella Max Degree of Parallelism selezionare il numero massimo di processori da utilizzare nell'esecuzione di piani paralleli.

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

Utilizzo di Transact-SQL

Per configurare l'opzione max degree of 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 viene illustrato come utilizzare sp_configure per configurare l'opzione max degree of parallelism su 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 ulteriori informazioni, vedere Opzioni di configurazione del server.

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

Completamento: Dopo la configurazione dell'opzione max degree of parallelism

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

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

Vedere anche

Riferimento

RECONFIGURE (Transact-SQL)

sp_configure (Transact-SQL)

CREATE INDEX (Transact-SQL)

ALTER INDEX (Transact-SQL)

ALTER TABLE (Transact-SQL)

DBCC CHECKTABLE (Transact-SQL)

DBCC CHECKDB (Transact-SQL)

DBCC CHECKFILEGROUP (Transact-SQL)

Hint per la query (Transact-SQL)

Concetti

Opzione di configurazione del server affinity mask

Opzioni di configurazione del server

Configurazione di operazioni parallele sugli indici

Impostare le opzioni di indice