• 03/02/2017
  • 3 minuter att läsa
    • m
    • M
    • J
    • r
    • M
    • +3

Gäller följande: yesSQL Server (alla versioner som stöds)

Det här avsnittet beskriver hur du konfigurerar kostnadsgränsen för serverkonfigurationsalternativet för parallellism i SQL Server med hjälp av SQL Server Management Studio eller Transact-SQL. Alternativet Kostnadströskel för parallellism anger den tröskel vid vilken SQL Server skapar och kör parallella planer för frågor. SQL Server skapar och kör en parallell plan för en fråga endast när den uppskattade kostnaden för att köra en seriell plan för samma fråga är högre än det värde som anges i kostnadströskel för parallellism. Kostnaden avser en uppskattad kostnad som krävs för att köra den seriella planen på en specifik maskinvarukonfiguration och är inte en tidsenhet. Alternativet Kostnadströskel för parallellism kan ställas in på ett värde mellan 0 och 32767. Standardvärdet är 5.

I det här ämnet

  • För att börja:

    Begränsningar och restriktioner

    Rekommendationer

    Säkerhet

  • För att konfigurera alternativet Kostnadströskel för parallellitet använder du:

    SQL Server Management Studio

    Transact-SQL

  • Följ upp: När du har konfigurerat kostnadströskeln för parallelliseringsalternativet

Innan du börjar

Begränsningar och begränsningar

  • Kostnaden hänvisar till en abstraherad kostenhet och inte till en uppskattad tidsenhet. Ange endast kostnadströskel för parallellism på symmetriska multiprocessorer.

  • SQL Server ignorerar värdet för kostnadströskel för parallellism under följande förhållanden:

    • Din dator har endast en logisk processor.

    • Endast en enda logisk processor är tillgänglig för SQL Server på grund av konfigurationsalternativet affinitetsmask.

    • Objektet max grad av parallellitet är inställt på 1.

En logisk processor är den grundläggande enheten för processorhårdvara som gör det möjligt för operativsystemet att skicka en uppgift eller utföra en trådkontext. Varje logisk processor kan endast utföra en trådkontext åt gången. Processorkärnan är den krets som ger förmåga att avkoda och utföra instruktioner. En processorkärna kan innehålla en eller flera logiska processorer. Följande Transact-SQL-fråga kan användas för att få CPU-information för systemet.

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

Rekommendationer

  • Det här alternativet är ett avancerat alternativ och bör endast ändras av en erfaren databasadministratör eller certifierad SQL Server-specialist.

  • I vissa fall kan en parallell plan väljas trots att frågespillets kostnadsplan är lägre än det aktuella värdet för kostnadströskel för parallellism. Detta kan hända eftersom beslutet att använda en parallell eller seriell plan baseras på en kostnadsberäkning som tillhandahållits tidigare i optimeringsprocessen. Mer information finns i Arkitekturguiden för frågebehandling.

  • Men även om standardvärdet 5 är lämpligt för de flesta system kan ett annat värde vara lämpligt. Utför applikationstester med högre och lägre värden om det behövs för att optimera applikationens prestanda.

Säkerhet

Behörigheter

Exekveringsbehörigheter för sp_configure utan parametrar eller med endast den första parametern ges som standard till alla användare. För att utföra sp_configure med båda parametrarna för att ändra ett konfigurationsalternativ eller för att köra RECONFIGURE-anvisningen måste en användare beviljas behörigheten ALTER SETTINGS på servernivå. Behörigheten ALTER SETTINGS innehas implicit av de fasta serverrollerna sysadmin och serveradmin.

Använda SQL Server Management Studio

För att konfigurera kostnadströskeln för parallelliseringsalternativet

  1. Högerklicka på en server i Object Explorer och välj Egenskaper.

  2. Klicka på noden Avancerat.

  3. Under Parallellism ändrar du alternativet Kostnadströskel för parallellism till det värde du vill ha. Skriv eller välj ett värde mellan 0 och 32767.

Använda Transact-SQL

För att konfigurera alternativet Kostnadströskel för parallellism

  1. Anslut till databasmotorn.

  2. Klicka på Ny fråga i standardfältet.

  3. Kopiera och klistra in följande exempel i frågefönstret och klicka på Utför. Det här exemplet visar hur du använder sp_configure för att ställa in värdet för alternativet cost threshold for parallelism till 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 

För mer information, se Serverkonfigurationsalternativ (SQL Server).

Uppföljning: När du har konfigurerat kostnadströskeln för parallelliseringsalternativet

Inställningen börjar gälla omedelbart utan att du behöver starta om servern.

Se även

Konfigurera parallella indexoperationer
Förfrågningstips (Transact-SQL)
ALTER WORKLOAD GROUP (Transact-SQL)
Affinitetsmask Serverkonfigurationsalternativ
RECONFIGURERA (Transact-SQL)
Serverkonfigurationsalternativ (SQL Server)
sp_configure (Transact-SQL)

Lämna ett svar

Din e-postadress kommer inte publiceras.