Al momento sei offline in attesa che la connessione Internet venga ristabilita

Consigli e linee guida per l'opzione di configurazione "max degree of parallelism" in SQL Server

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
Sommario
L'opzione di configurazione di Microsoft SQL Server l' opzione max degree of parallelism (MAXDOP) controlla il numero di processori utilizzati per l'esecuzione di una query in un piano parallelo. Questa opzione determina le risorse informatiche e di thread utilizzati per gli operatori di piano di query che eseguono il lavoro in parallelo. A seconda se SQL Server è impostato su un computer a multiprocessing simmetrico (SMP), un computer di accesso (NUMA) di memoria non uniformi o processori Hyper-Threading abilitata, è 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 ignorare l'opzione max degree of parallelismnel valoresp_configure se la query specifica questa opzione. In SQL Server 2000, la sostituzione ha effetto solo se il valore specificato l'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 che è stato configurato tramite il Resource Governor, il motore di database utilizza il valore di Resource Governor MAXDOP. Tutte le regole semantiche utilizzate con l'opzione max degree of parallelismsono applicabili quando si utilizzano le query MAXDOP. Le altre due opzioni che è possono eseguire l'override o influisce sull'impostazione MAXDOP sono i seguenti:
  • Soft NUMA
  • Indice in parallelo
Informazioni
Nota Opzione di configurazione il massimo grado di parallelismonon limita 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

Server con singolo nodo NUMAInferiore a 8 processori logiciMantenere MAXDOP pari o inferiore al numero di processori logici
Server con singolo nodo NUMAMaggiore di 8 processori logiciMantenere MAXDOP 8
Server con più nodi NUMAInferiore a 8 processori logici per ogni nodo NUMAMantenere MAXDOP pari o inferiore al numero di processori logici per ogni nodo NUMA
Server con più nodi NUMAMaggiore di 8 processori logici per ogni nodo NUMAMantenere MAXDOP 8



Nota
seguire le 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 che vengono utilizzate 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 le situazioni seguenti:
  • 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 numero molto grande 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 È possibile utilizzare qualsiasi valore deve essere verificate attentamente contro il modello di query o di attività specifiche dell'applicazione prima di implementare tale valore su un server di produzione.

SQL Server 2000 e versioni precedenti

Se SQL Server utilizza un piano seriale, verrà utilizzato un solo processore. Tuttavia, se SQL Server utilizza il parallelismo, è necessario utilizzare tutti i processori (come determinato dalla configurazione di hint di query MAXDOP) configurati 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. Per questo motivo radicale, se SQL Server utilizza il piano parallelo e se non si limitano le 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 compensa i vantaggi dell'utilizzo di un piano parallelo.

L'impostazione MAXDOP applicabile a ogni passaggio del piano. Ogni passaggio utilizza una CPU o il numero di CPU specificato da MAXDOP e mai nulla tra. Se i passaggi da eseguire in parallelo, il numero di thread utilizzati dalla query può superare l'impostazione MAXDOP.

Per la definizione di MAXDOP, consultare l'argomento "Massimo grado di parallelismo Option" 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):Per informazioni sulle procedure consigliate migliore quando si esegue un'istanza di SQL Server in computer con più di 64 CPU, vedere il seguente argomento della documentazione in linea di SQL Server:Per le istanze di SQL Server in eseguono su processori con hyperthreading abilitati, seguire le istruzioni riportate nel seguente articolo della Microsoft Knowledge Base:
322385 Supporto di SQL Server in un ambiente hyper-threading
Nota Questa indicazione potrebbe non essere applicabile a più recente di chip del processore, ad esempio quelli della famiglia Intel Nehalem.

Per informazioni sul numero di processori utilizzati da SQL Server e il numero di nodi NUMA riconosciute 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 imposto utilizzando Resource Governor, rivedere le informazioni di sys.dm_resource_governor_workload_groups di visualizzazione di 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 query MAXDOP – quale deve essere usato in SQL Server?

Per ulteriori informazioni su prodotti o strumenti che automaticamente per verificare questa condizione sull'istanza di SQL Server e sulle versioni del prodotto SQL Server, vedere la tabella riportata di seguito:
Software di regolaTitolo regolaDescrizione della regolaVersioni del prodotto per la quale viene valutata la regola
SQL Server 2008 R2 Best Practice Analyzer (SQL Server 2008 R2 BPA)Grado di parallelismo non è impostata su valore consigliatoIn 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 è configurato con 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 "Il motore di Database - degree of parallelism non è impostata su valore consigliato", confrontare il valore dell'opzionemassimo grado parallelismoe il valore MAXDOP Resource Governor del carico di lavoro con i valori consigliati che sono specificati nella sezione "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 è configurato con 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 "Il motore di Database - degree of parallelism non è impostata su valore consigliato", confrontare il valore dell'opzionemassimo grado parallelismoe il valore MAXDOP Resource Governor del carico di lavoro con i valori consigliati che sono specificati nella sezione "Sommario" e "Informazioni".
SQL Server 2012

Avviso: questo articolo è stato tradotto automaticamente

Proprietà

ID articolo: 2806535 - Ultima revisione: 10/04/2015 06:47:00 - Revisione: 4.0

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

  • kbinfo kbmt KB2806535 KbMtit
Feedback
;did=1&t=">