DetailPage-MSS-KB

Microsoft Knowledge Base

Identificativo articolo: 2806535 - Ultima modifica: venerdì 1 maggio 2015 - Revisione: 3.0

 

In questa pagina

Sommario

L'opzione di configurazione di Microsoft SQL Server il massimo grado di parallelismo (MAXDOP) controlla il numero di processori utilizzati per l'esecuzione di una query in un piano parallelo. Questa opzione determina le risorse di elaborazione e di thread utilizzate per gli operatori del piano di query che eseguono il lavoro in parallelo. A seconda se SQL Server è impostato su un computer SMP (symmetric multiprocessing), un computer di accesso (NUMA) di memoria non uniforme o processori attivato l'hyperthreading, è necessario configurare l'opzione max degree of parallelism in modo appropriato. In questo articolo vengono illustrate le linee guida generali che è possibile utilizzare per configurare l'opzione max degree of parallelism per SQL Server quando si utilizza la stored procedure sp_configure .

I parametri di query Transact-SQL di Opzione (MAXDOP) possono eseguire l'override dell'opzione max degree of parallelismnel valoresp_configure se la query viene specificata questa opzione. In SQL Server 2000, l'override ha effetto solo se il valore specificato nell'hint è minore o uguale al valore di sp_configure . In SQL Server 2005 e versioni successive, l'override ha sempre effetto. In SQL Server 2008 e versioni successive, se il valore MAXDOP supera il valore è stato configurato con Resource Governor, il motore di database utilizza il valore di Resource Governor MAXDOP. Tutte le regole semantiche utilizzate con l'opzione max degree of parallelismsi applicano quando si utilizza l'hint di query MAXDOP. Le altre due opzioni che possono eseguire l'override o influisce sull'impostazione MAXDOP sono come segue:
  • Soft NUMA
  • Indice parallelo

Informazioni

Nota L'opzione di configurazione del massimo grado di parallelismo è non limitare il numero di processori che utilizza SQL Server. Per configurare il numero di processori che utilizza SQL Server, utilizzare l'opzione di configurazione della maschera di affinità .

Utilizzare le seguenti indicazioni quando si configura il MAXDOPvalue.

SQL Server 2005 e versioni successive

Riduci questa tabellaEspandi questa tabella
Server con un singolo nodo NUMAInferiore a 8 processori logiciMantenere MAXDOP pari o inferiore # di processori logici
Server con un singolo nodo NUMAMaggiore di 8 processori logiciMantenere MAXDOP a 8
Server con più nodi NUMAInferiore a 8 processori logici per ogni nodo NUMAMantenere MAXDOP pari o inferiore # di processori logici per ogni nodo NUMA
Server con più nodi NUMAMaggiore di 8 processori logici per ogni nodo NUMAMantenere MAXDOP a 8



Nota
attenersi alle stesse indicazioni quando si imposta l'opzione max degree of parallelismper Resource Governor gruppi del carico di lavoro.

Inoltre, il valore massimo di 8 menzionato in queste linee guida è applicabile per l'attività tipica di SQL Server e il sovraccarico per gli operatori di exchange vengono utilizzati nei piani di query parallele. È possibile variare il valore massimo, a seconda dei modelli di applicazione specifico e l'attività simultanea nell'istanza di SQL Server. Ad esempio, considerare quanto riportato di seguito:
  • Se si dispone di un numero estremamente ridotto di query in esecuzione contemporaneamente rispetto al numero di processori, è possibile impostare il valore MAXDOP su un valore più alto. Ad esempio, è possibile impostare il valore MAXDOP su 16.
  • Se è un dispone di un numero molto elevato di query in esecuzione contemporaneamente rispetto al numero di processori, è possibile impostare il valore MAXDOP su un valore inferiore. Ad esempio, è possibile impostare il valore MAXDOP su 4.
Nota Qualsiasi valore che si è consigliabile utilizzare dovrà essere verificate attentamente contro l'applicazione specifica attività o il modello di query prima di implementare tale valore su un server di produzione.

SQL Server 2000 e versioni precedenti

Se SQL Server viene utilizzato un piano seriale, verrà utilizzato un solo processore. Tuttavia, se SQL Server utilizza il parallelismo, è necessario utilizzare tutti i processori configurati (come determinato dalla configurazione di hint di query MAXDOP) per l'esecuzione di un piano parallelo. Ad esempio, se si utilizza MAXDOP = 0 su un server a 32 vie, SQL Server tenta di utilizzare tutti i 32 processori, anche se 7 processori potrebbero eseguire il processo più efficiente rispetto a un piano seriale che utilizza un solo processore. Tale comportamento radicale, se SQL Server utilizza il piano parallelo e non limitano l'hint di query MAXDOP su un valore massimo di 8, il tempo richiesto da SQL Server per coordinare tutti i processori su un server di fascia alta compensino i vantaggi dell'utilizzo di un piano parallelo.

L'impostazione MAXDOP si applica a ogni fase del piano. Ogni passaggio verrà utilizzato una CPU o il numero di CPU specificato da MAXDOP e mai nulla di separazione. Se i passaggi vengono eseguiti in parallelo, il numero di thread utilizzati dalla query può superare l'impostazione MAXDOP.

Per la definizione di MAXDOP, vedere l'argomento "Massimo grado di parallelismo opzione" o "Grado di parallelismo" in SQL Server.

Per comprendere il funzionamento di parallelismo, vedere la sezione "Elaborazione parallela di Query" nell'argomento "Architettura del processore di Query" nella documentazione in linea di SQL Server.

AdditionalInformation

Per ulteriori informazioni sulle query parallele, visitare il seguente sito Web Microsoft Developer Network (MSDN):
Grado di parallelismo (http://msdn.microsoft.com/en-us/library/ms188611.aspx )
Per informazioni pratiche migliori quando si esegue un'istanza di SQL Server in computer con più di 64 CPU, vedere l'argomento della documentazione in linea di SQL Server seguente:
Procedure consigliate per l'esecuzione di SQL Server su computer che dispongono di più di 64 CPU (http://msdn.microsoft.com/en-us/library/ee210547(SQL.105).aspx)
Per le istanze di SQL Server in esecuzione su processori attivato l'hyperthreading, seguire i suggerimenti riportati nel seguente articolo della Microsoft Knowledge Base:
322385  (http://support.microsoft.com/kb/322385/ ) Supporto di SQL Server in un ambiente hyperthreading
Nota Questa indicazione potrebbe non essere applicabile a chip del processore più recente, ad esempio quelli della famiglia Intel Nehalem.

Per informazioni sul numero di processori utilizzati da SQL Server e il numero di nodi NUMA riconosciuti da SQL Server, utilizzare la gestione dinamica delle visualizzazioni sys.dm_os_sys_info e sys.dm_os_nodes. Per ulteriori informazioni sull'impostazione MAXDOP che viene applicato con Resource Governor, rivedere le informazioni in sys.dm_resource_governor_workload_groups di visualizzazione la gestione dinamica e il seguente post sul blog del team di supporto di SQL Server:

Impostazione di "Massimo grado di parallelismo" del server, del Resource Governor MAX_DOP e hint per la query MAXDOP – che uno deve SQL Server utilizzare? (http://blogs.msdn.com/b/psssql/archive/2015/04/28/server-s-max-degree-of-parallelism-setting-resource-governor-s-max-dop-and-query-hint-maxdop-which-one-should-sql-server-use.aspx)

Per ulteriori informazioni su prodotti o strumenti automaticamente verificare questa condizione sull'istanza di SQL Server e sulle versioni del prodotto SQL Server, vedere la tabella riportata di seguito:
Riduci questa tabellaEspandi questa tabella
Software di regolaTitolo regolaDescrizione della regolaVersioni del prodotto rispetto al quale viene valutata la regola
SQL Server 2008 R2 Best Practice Analyzer (SQL Server 2008 R2 BPA)Grado di parallelismo non è impostata su valore consigliatoDi SQL Server 2008 R2 Best Practice Analyzer (SQL Server 2008 R2 BPA) viene fornita una regola per rilevare le condizioni in cui il valore appropriato per l'opzione max degree of parallelismnon viene configurato il numero di CPU in un nodo NUMA e, inoltre, la configurazione del carico di lavoro di Resource Governor per MAXDOP. Il BPA di SQL Server 2008 R2 supporta SQL Server 2008 e SQL Server 2008 R2.

Se si esegue lo strumento BPA e visualizzato un messaggio di avviso "Motore di Database - degree of parallelism non è impostata su valore consigliato", confrontare il valore dell'opzionemassimo grado di parallelismoe il valore MAXDOP Resource Governor del carico di lavoro con i valori consigliati sono specificate nelle sezioni "Sommario" e "Informazioni".
SQL Server 2008, SQL Server 2008 R2
SQL Server 2012 Best Practice Analyzer (BPA di SQL Server 2012)Grado di parallelismo non è impostata su valore consigliatoSQL Server 2012 Best Practice Analyzer (BPA di SQL Server 2012) viene fornita una regola per rilevare le condizioni in cui il valore appropriato per l'opzione max degree of parallelismnon viene configurato il numero di CPU in un nodo NUMA e, inoltre, la configurazione del carico di lavoro di Resource Governor per MAXDOP.

Se si esegue lo strumento BPA e visualizzato un messaggio di avviso "Motore di Database - degree of parallelism non è impostata su valore consigliato", confrontare il valore dell'opzionemassimo grado di parallelismoe il valore MAXDOP Resource Governor del carico di lavoro con i valori consigliati sono specificate nelle sezioni "Sommario" e "Informazioni".
SQL Server 2012

Le informazioni in questo articolo si applicano a:
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Express
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2008 R2 Express with Advanced Services
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Enterprise Evaluation
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Express with Advanced Services
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Express Edition with Advanced Services
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Enterprise Evaluation Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2014 Business Intelligence
  • Microsoft SQL Server 2014 Developer
  • Microsoft SQL Server 2014 Enterprise
  • Microsoft SQL Server 2014 Enterprise Core
  • Microsoft SQL Server 2014 Express
  • Microsoft SQL Server 2014 Standard
  • Microsoft SQL Server 2014 Web
Chiavi: 
kbinfo kbmt KB2806535 KbMtit
Traduzione automatica articoliTraduzione automatica articoli
IMPORTANTE: il presente articolo è stato tradotto tramite un software di traduzione automatica di Microsoft ed eventualmente revisionato dalla community Microsoft tramite la tecnologia CTF (Community Translation Framework) o da un traduttore professionista. Microsoft offre articoli tradotti manualmente e altri tradotti automaticamente e rivisti dalla community con l’obiettivo di consentire all'utente di accedere a tutti gli articoli della Knowledge Base nella propria lingua. Tuttavia, un articolo tradotto automaticamente, anche se rivisto dalla community, non sempre è perfetto. Potrebbe contenere errori di vocabolario, di sintassi o di grammatica. Microsoft declina ogni responsabilità per imprecisioni, errori o danni causati da una traduzione sbagliata o dal relativo utilizzo da parte dei clienti. Microsoft aggiorna frequentemente il software e gli strumenti di traduzione automatica per continuare a migliorare la qualità della traduzione.
Clicca qui per visualizzare la versione originale in inglese dell’articolo: 2806535  (http://support.microsoft.com/kb/2806535/en-us/ )
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.
Condividi
Altre opzioni per il supporto
Forum del supporto di Microsoft Community
Contattaci direttamente
Ricerca di un partner certificato Microsoft
Microsoft Store