• 03/02/2017
  • 3 minute de citit
    • m
    • M
    • J
    • r
    • M
    • +3

Se aplică la: yesSQL Server (toate versiunile acceptate)

Acest subiect descrie modul de configurare a pragului de cost pentru opțiunea de configurare a serverului de paralelism în SQL Server utilizând SQL Server Management Studio sau Transact-SQL. Opțiunea Cost threshold for parallelism (prag de cost pentru paralelism) specifică pragul la care SQL Server creează și execută planuri paralele pentru interogări. SQL Server creează și execută un plan paralel pentru o interogare numai atunci când costul estimat pentru a executa un plan serial pentru aceeași interogare este mai mare decât valoarea setată în cost threshold for parallelism. Costul se referă la un cost estimat necesar pentru a rula planul serial pe o anumită configurație hardware și nu este o unitate de timp. Opțiunea cost threshold for parallelism (prag de cost pentru paralelism) poate fi setată la orice valoare cuprinsă între 0 și 32767. Valoarea implicită este 5.

În acest subiect

  • Înainte de a începe:

    Limitări și restricții

    Recomandări

    Securitate

  • Pentru a configura pragul de cost pentru opțiunea de paralelism, folosind:

    SQL Server Management Studio

    Transact-SQL

  • Follow Up: După ce configurați pragul de cost pentru opțiunea de paralelism

Before You Begin

Limitări și restricții

  • Costul se referă la o unitate de cost abstractizată și nu la o unitate de timp estimat. Setați pragul de cost pentru paralelism numai pe multiprocesoare simetrice.

  • SQL Server ignoră valoarea pragului de cost pentru paralelism în următoarele condiții:

    • Computerul dumneavoastră are un singur procesor logic.

    • Doar un singur procesor logic este disponibil pentru SQL Server din cauza opțiunii de configurare a măștii de afinitate.

    • Opțiunea grad maxim de paralelism este setată la 1.

Un procesor logic este unitatea de bază a hardware-ului procesorului care permite sistemului de operare să expedieze o sarcină sau să execute un context de fire de execuție. Fiecare procesor logic poate executa doar un singur context de fire de execuție la un moment dat. Miezul procesorului este circuitul care oferă capacitatea de a decoda și executa instrucțiuni. Un nucleu de procesor poate conține unul sau mai multe procesoare logice. Următoarea interogare Transact-SQL poate fi utilizată pentru a obține informații despre CPU pentru sistem.

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

Recomandări

  • Această opțiune este o opțiune avansată și ar trebui modificată numai de un administrator de baze de date cu experiență sau de un profesionist certificat SQL Server.

  • În anumite cazuri, poate fi ales un plan paralel chiar dacă planul de cost al interogării este mai mic decât valoarea curentă a pragului de cost pentru paralelism. Acest lucru se poate întâmpla deoarece decizia de a utiliza un plan paralel sau serial se bazează pe o estimare a costurilor furnizată mai devreme în procesul de optimizare. Pentru mai multe informații, consultați Ghidul de arhitectură pentru procesarea interogărilor.

  • În timp ce valoarea implicită de 5 este adecvată pentru majoritatea sistemelor, o valoare diferită poate fi adecvată. Efectuați teste ale aplicației cu valori mai mari și mai mici, dacă este necesar, pentru a optimiza performanța aplicației.

Securitate

Permisiuni

Permisiunile de execuție pe sp_configure fără parametri sau doar cu primul parametru sunt acordate în mod implicit tuturor utilizatorilor. Pentru a executa sp_configure cu ambii parametri pentru a modifica o opțiune de configurare sau pentru a executa instrucțiunea RECONFIGURE, unui utilizator trebuie să i se acorde permisiunea ALTER SETTINGS la nivel de server. Permisiunea ALTER SETTINGS este deținută implicit de rolurile de server fix sysadmin și serveradmin.

Utilizarea SQL Server Management Studio

Pentru a configura pragul de cost pentru opțiunea de paralelism

  1. În Object Explorer, faceți clic dreapta pe un server și selectați Properties.

  2. Click pe nodul Advanced.

  3. În Parallelism, modificați opțiunea Cost Threshold for Parallelism (Prag de cost pentru paralelism) la valoarea pe care o doriți. Introduceți sau selectați o valoare de la 0 la 32767.

Using Transact-SQL

Pentru a configura opțiunea Cost threshold for parallelism

  1. Conectați-vă la Database Engine.

  2. Din bara Standard, faceți clic pe New Query.

  3. Copiați și lipiți următorul exemplu în fereastra de interogare și faceți clic pe Execute. Acest exemplu arată cum se utilizează sp_configure pentru a seta valoarea opțiunii cost threshold for parallelism la 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 

Pentru mai multe informații, consultați Server Configuration Options (SQL Server).

Urmărire: După ce configurați pragul de cost pentru opțiunea de paralelism

Setarea intră în vigoare imediat fără a reporni serverul.

Citește și

Configurarea operațiilor de indexare paralelă
Sugestii de interogare (Transact-SQL)
ALTER WORKLOAD GROUP (Transact-SQL)
Opțiune de configurare a serverului pentru masca de afinitate
RECONFIGURE (Transact-SQL)
Opțiuni de configurare a serverului (SQL Server)
sp_configure (Transact-SQL)

.

Lasă un răspuns

Adresa ta de email nu va fi publicată.