Dela via


ÄNDRA ARBETSBELASTNINGSGRUPP (Transact-SQL)

Välj en produkt

På följande rad väljer du det produktnamn som du är intresserad av och endast den produktinformationen visas.

* SQL Server *  

 

SQL Server och SQL Managed Instance

Ändrar en befintlig konfiguration av resursguvernörens arbetsbelastningsgrupp och tilldelar den eventuellt till en annan resursguvernörsresurspool.

Not

För Azure SQL Managed Instance måste du vara i kontexten för den master databasen för att ändra konfigurationen av resursguvernören.

Transact-SQL syntaxkonventioner.

Syntax

ALTER WORKLOAD GROUP { group_name | [default] }
[ WITH
    ([ IMPORTANCE = { LOW | MEDIUM | HIGH } ]
      [ [ , ] REQUEST_MAX_MEMORY_GRANT_PERCENT = value ]
      [ [ , ] REQUEST_MAX_CPU_TIME_SEC = value ]
      [ [ , ] REQUEST_MEMORY_GRANT_TIMEOUT_SEC = value ]
      [ [ , ] MAX_DOP = value ]
      [ [ , ] GROUP_MAX_REQUESTS = value ] )
]
[ USING { pool_name | [default] } ]
[ ; ]

Argument

group_name | [standard]

Namnet på en befintlig användardefinierad arbetsbelastningsgrupp eller den inbyggda resursguvernören default arbetsbelastningsgrupp.

default måste vara inom hakparenteser ([]) eller citattecken ("") när de används med ALTER WORKLOAD GROUP för att undvika en konflikt med DEFAULT, vilket är ett systemreserverat ord. Mer information finns i Databasidentifierare.

Inbyggda resurspooler och arbetsbelastningsgrupper använder alla gemener, till exempel default. Använd gemener default på servrar som använder en skiftlägeskänslig sortering. Servrar med skiftlägesokänslig sortering behandlar default, Defaultoch DEFAULT som samma värde.

IMPORTANCE = { LOW | MEDIUM | HÖG }

Anger den relativa betydelsen av en begäran i arbetsbelastningsgruppen. Standardvärdet är MEDIUM.

IMPORTANCE är lokal för resurspoolen som innehåller arbetsbelastningsgruppen. Arbetsbelastningsgrupper av olika betydelse i samma resurspool påverkar varandra, men påverkar inte arbetsbelastningsgrupper i andra resurspooler.

REQUEST_MAX_MEMORY_GRANT_PERCENT = värde

Anger den maximala mängden minne för frågearbetsytan som en enskild begäran kan ta från poolen. värdet är en procentandel av resurspoolens storlek som definieras av MAX_MEMORY_PERCENT. Standardvärdet är 25.

I SQL Server 2017 (14.x) och äldre är värde ett heltal och det tillåtna intervallet är mellan 1 och 100.

Från och med SQL Server 2019 (15.x) kan värdet vara bråktal med hjälp av float datatyp. Det tillåtna intervallet är mellan 0 och 100.

Viktig

Det angivna beloppet avser endast frågearbetsytans minne som hämtas via frågeminnesbidrag.

Vi rekommenderar inte att du anger värde för stort (t.ex. större än 70) eftersom servern kanske inte kan avsätta tillräckligt med ledigt minne för andra samtidiga frågor. Detta kan leda till en tidsgräns för minnesstipendium fel 8645.

Om du anger värdet till 0 eller ett litet värde kan det förhindra att frågor med operatorer som kräver arbetsyteminne, till exempel sort och hash, körs i användardefinierade arbetsbelastningsgrupper. Om frågeminneskraven överskrider den gräns som definieras av den här parametern inträffar följande beteende:

  • För användardefinierade arbetsbelastningsgrupper försöker servern minska graden av parallellitet (DOP) för begäran (frågan) tills minneskravet ligger under gränsen eller tills DOP är lika med 1. Om frågeminneskravet fortfarande är större än gränsen uppstår fel 8657 och frågan misslyckas.
  • För arbetsbelastningsgrupperna internal och default tillåter servern att frågan hämtar det minne som krävs.

I båda fallen kan fel 8645 inträffa om servern inte har tillräckligt med fysiskt minne.

REQUEST_MAX_CPU_TIME_SEC = värde

Anger den maximala cpu-tid i sekunder som en batchbegäran kan använda. värdet måste vara 0 eller ett positivt heltal. Standardinställningen för värde är 0, vilket innebär obegränsad.

När den maximala CPU-tiden överskrids genereras den cpu_threshold_exceeded utökade händelsen och en spårningshändelse. Mer information finns i cpu-tröskelvärdet överskred händelseklassen.

När den maximala CPU-tiden överskrids i Azure SQL Managed Instance avbryter resursguvernören begäran med fel 10961.

I SQL Server avbryter inte resursguvernören begäran som standard. Från och med SQL Server 2016 (13.x) SP2 och SQL Server 2017 (14.x) CU3 avbryter resursguvernören en begäran med fel 10961 när spårningsflagga 2422 är aktiverad och den maximala CPU-tiden överskrids.

REQUEST_MEMORY_GRANT_TIMEOUT_SEC = värde

Anger den maximala tid i sekunder som en fråga kan vänta på att ett minnesbidrag från frågearbetsytans minne ska bli tillgängligt. värdet måste vara 0 eller ett positivt heltal. Standardinställningen för -värdet, 0, använder en intern beräkning baserat på frågekostnaden för att fastställa den maximala tiden.

En fråga misslyckas inte alltid när tidsgränsen för minnesstipendium nås. En fråga misslyckas bara om det finns för många samtidiga frågor som körs. Annars kanske frågan bara får minsta möjliga minnesbidrag, vilket resulterar i lägre frågeprestanda.

MAX_DOP = värde

Anger den maximala graden av parallellitet (MAXDOP) för parallell frågekörning. Det tillåtna intervallet för värde är mellan 0 och 64. Standardinställningen för -värdet, 0, använder den globala inställningen.

Mer information finns i MAXDOP-.

GROUP_MAX_REQUESTS = värde

Anger det maximala antalet samtidiga begäranden som tillåts köras i arbetsbelastningsgruppen. värdet måste vara 0 eller ett positivt heltal. Standardinställningen för värde är 0 och tillåter obegränsade begäranden. När maximalt antal samtidiga begäranden nås kan en session i gruppen skapas, men placeras i vänteläge tills antalet samtidiga begäranden sjunker under det angivna värdet.

USING { pool_name | [standard] }

Associerar arbetsbelastningsgruppen med den användardefinierade resurspoolen som identifieras av pool_nameeller med default resurspoolen. Om pool_name inte anges, eller om argumentet USING inte har angetts, associeras arbetsbelastningsgruppen med den inbyggda default poolen.

default är ett reserverat ord och när det anges i USING, måste omges av hakparenteser ([]) eller citattecken ("").

Inbyggda resurspooler och arbetsbelastningsgrupper använder alla gemener, till exempel default. Använd gemener default på servrar som använder en skiftlägeskänslig sortering. Servrar med skiftlägesokänslig sortering behandlar default, Defaultoch DEFAULT som samma värde.

Anmärkningar

ALTER WORKLOAD GROUP tillåts i arbetsbelastningsgruppen default, men inte i gruppen internal.

Ändringar i konfigurationen av arbetsbelastningsgruppen börjar inte gälla förrän ALTER RESOURCE GOVERNOR RECONFIGURE har körts.

Mer information finns i resource governor and Resource governor workload group.

MAXDOP

För en viss fråga bestäms effektiva MAXDOP på följande sätt:

  • MAXDOP som ett frågetips respekteras så länge det inte överskrider arbetsbelastningsgruppens MAX_DOP inställning.
  • MAXDOP som ett frågetips åsidosätter alltid max degree of parallelism serverkonfiguration. Mer information finns i Server-konfiguration: maximal grad av parallellitet.
  • Arbetsbelastningsgruppen MAX_DOP åsidosätter max degree of parallelism serverkonfiguration och MAXDOPdatabasomfattande konfiguration.

Gränsen för MAXDOP anges per aktivitet. Det är inte en per begäran eller per frågegräns. Under en körning av en parallell fråga kan en enskild begäran skapa flera uppgifter som har tilldelats till en schemaläggaren. Mer information finns i tråd- och aktivitetsarkitekturguiden.

När en fråga markeras som seriell vid kompileringstid (MAXDOP = 1) kan den inte köras med parallellitet vid körning oavsett arbetsbelastningsgrupp eller serverkonfigurationsinställning. När MAXDOP har bestämts för en fråga kan den bara sänkas på grund av minnesbelastning. Omkonfiguration av arbetsbelastningsgrupp påverkar inte frågor som väntar i kön för minnesbeviljande.

Cachelagrade planer

När du ändrar en plan som påverkar inställningen, till exempel MAX_DOP, börjar den nya inställningen gälla i tidigare cachelagrade planer först efter körningen av DBCC FREEPROCCACHE (<pool_name>), där <pool_name> är namnet på en resurspool som används av den aktuella arbetsbelastningsgruppen.

  • Om du ändrar MAX_DOP till 1 krävs inte körning av DBCC FREEPROCCACHE eftersom parallella planer kan köras i serieläge. En sådan plan kan dock vara mindre effektiv än en plan som sammanställts som en serieplan.
  • Om du ändrar MAX_DOP från 1 till 0 eller ett värde som är större än 1 krävs inte körning av DBCC FREEPROCCACHE. Serieplaner kan dock inte köras parallellt, så om du rensar respektive cache kan nya planer eventuellt kompileras med parallellitet.

Varning

Att rensa cachelagrade planer från en resurspool som är associerad med mer än en arbetsbelastningsgrupp påverkar alla arbetsbelastningsgrupper med hjälp av den användardefinierade resurspoolen som identifieras av <pool_name>.

Skapa index

Av prestandaskäl kan indexskapande använda mer minnesarbetsyta än vad som ursprungligen beviljades. Resursguvernören stöder den här särskilda hanteringen. Det första beviljandet och eventuella ytterligare minnesbidrag begränsas dock av arbetsbelastningsgruppen och inställningarna för resurspoolen.

Det minne som förbrukas för att skapa ett icke-berättigat index i en partitionerad tabell är proportionellt mot antalet berörda partitioner. Om det totala antalet minne som krävs överskrider gränsen per fråga som tillämpas av inställningen för REQUEST_MAX_MEMORY_GRANT_PERCENT arbetsbelastningsgrupp kan indexskapandet misslyckas. Eftersom den default arbetsbelastningsgruppen tillåter att en fråga överskrider gränsen per fråga med det minsta minne som krävs för att starta för bakåtkompatibilitet, kanske du kan skapa samma index med arbetsbelastningsgruppen default om default resurspoolen har tillräckligt med totalt minne.

Behörigheter

Kräver behörigheten CONTROL SERVER.

Exempel

I följande exempel visas hur du ändrar vikten av begäranden i standardgruppen från MEDIUM till LOW.

ALTER WORKLOAD GROUP [default]
WITH (IMPORTANCE = LOW);

ALTER RESOURCE GOVERNOR RECONFIGURE;

I följande exempel visas hur du flyttar en arbetsbelastningsgrupp från poolen som den för närvarande är i default poolen.

ALTER WORKLOAD GROUP adHoc
USING [default];

ALTER RESOURCE GOVERNOR RECONFIGURE;

* SQL Managed Instance *  

 

SQL Server och SQL Managed Instance

Ändrar en befintlig konfiguration av resursguvernörens arbetsbelastningsgrupp och tilldelar den eventuellt till en annan resursguvernörsresurspool.

Not

För Azure SQL Managed Instance måste du vara i kontexten för den master databasen för att ändra konfigurationen av resursguvernören.

Transact-SQL syntaxkonventioner.

Syntax

ALTER WORKLOAD GROUP { group_name | [default] }
[ WITH
    ([ IMPORTANCE = { LOW | MEDIUM | HIGH } ]
      [ [ , ] REQUEST_MAX_MEMORY_GRANT_PERCENT = value ]
      [ [ , ] REQUEST_MAX_CPU_TIME_SEC = value ]
      [ [ , ] REQUEST_MEMORY_GRANT_TIMEOUT_SEC = value ]
      [ [ , ] MAX_DOP = value ]
      [ [ , ] GROUP_MAX_REQUESTS = value ] )
]
[ USING { pool_name | [default] } ]
[ ; ]

Argument

group_name | [standard]

Namnet på en befintlig användardefinierad arbetsbelastningsgrupp eller den inbyggda resursguvernören default arbetsbelastningsgrupp.

default måste vara inom hakparenteser ([]) eller citattecken ("") när de används med ALTER WORKLOAD GROUP för att undvika en konflikt med DEFAULT, vilket är ett systemreserverat ord. Mer information finns i Databasidentifierare.

Inbyggda resurspooler och arbetsbelastningsgrupper använder alla gemener, till exempel default. Använd gemener default på servrar som använder en skiftlägeskänslig sortering. Servrar med skiftlägesokänslig sortering behandlar default, Defaultoch DEFAULT som samma värde.

IMPORTANCE = { LOW | MEDIUM | HÖG }

Anger den relativa betydelsen av en begäran i arbetsbelastningsgruppen. Standardvärdet är MEDIUM.

IMPORTANCE är lokal för resurspoolen som innehåller arbetsbelastningsgruppen. Arbetsbelastningsgrupper av olika betydelse i samma resurspool påverkar varandra, men påverkar inte arbetsbelastningsgrupper i andra resurspooler.

REQUEST_MAX_MEMORY_GRANT_PERCENT = värde

Anger den maximala mängden minne för frågearbetsytan som en enskild begäran kan ta från poolen. värdet är en procentandel av resurspoolens storlek som definieras av MAX_MEMORY_PERCENT. Standardvärdet är 25.

I SQL Server 2017 (14.x) och äldre är värde ett heltal och det tillåtna intervallet är mellan 1 och 100.

Från och med SQL Server 2019 (15.x) kan värdet vara bråktal med hjälp av float datatyp. Det tillåtna intervallet är mellan 0 och 100.

Viktig

Det angivna beloppet avser endast frågearbetsytans minne som hämtas via frågeminnesbidrag.

Vi rekommenderar inte att du anger värde för stort (t.ex. större än 70) eftersom servern kanske inte kan avsätta tillräckligt med ledigt minne för andra samtidiga frågor. Detta kan leda till en tidsgräns för minnesstipendium fel 8645.

Om du anger värdet till 0 eller ett litet värde kan det förhindra att frågor med operatorer som kräver arbetsyteminne, till exempel sort och hash, körs i användardefinierade arbetsbelastningsgrupper. Om frågeminneskraven överskrider den gräns som definieras av den här parametern inträffar följande beteende:

  • För användardefinierade arbetsbelastningsgrupper försöker servern minska graden av parallellitet (DOP) för begäran (frågan) tills minneskravet ligger under gränsen eller tills DOP är lika med 1. Om frågeminneskravet fortfarande är större än gränsen uppstår fel 8657 och frågan misslyckas.
  • För arbetsbelastningsgrupperna internal och default tillåter servern att frågan hämtar det minne som krävs.

I båda fallen kan fel 8645 inträffa om servern inte har tillräckligt med fysiskt minne.

REQUEST_MAX_CPU_TIME_SEC = värde

Anger den maximala cpu-tid i sekunder som en batchbegäran kan använda. värdet måste vara 0 eller ett positivt heltal. Standardinställningen för värde är 0, vilket innebär obegränsad.

När den maximala CPU-tiden överskrids genereras den cpu_threshold_exceeded utökade händelsen och en spårningshändelse. Mer information finns i cpu-tröskelvärdet överskred händelseklassen.

När den maximala CPU-tiden överskrids i Azure SQL Managed Instance avbryter resursguvernören begäran med fel 10961.

I SQL Server avbryter inte resursguvernören begäran som standard. Från och med SQL Server 2016 (13.x) SP2 och SQL Server 2017 (14.x) CU3 avbryter resursguvernören en begäran med fel 10961 när spårningsflagga 2422 är aktiverad och den maximala CPU-tiden överskrids.

REQUEST_MEMORY_GRANT_TIMEOUT_SEC = värde

Anger den maximala tid i sekunder som en fråga kan vänta på att ett minnesbidrag från frågearbetsytans minne ska bli tillgängligt. värdet måste vara 0 eller ett positivt heltal. Standardinställningen för -värdet, 0, använder en intern beräkning baserat på frågekostnaden för att fastställa den maximala tiden.

En fråga misslyckas inte alltid när tidsgränsen för minnesstipendium nås. En fråga misslyckas bara om det finns för många samtidiga frågor som körs. Annars kanske frågan bara får minsta möjliga minnesbidrag, vilket resulterar i lägre frågeprestanda.

MAX_DOP = värde

Anger den maximala graden av parallellitet (MAXDOP) för parallell frågekörning. Det tillåtna intervallet för värde är mellan 0 och 64. Standardinställningen för -värdet, 0, använder den globala inställningen.

Mer information finns i MAXDOP-.

GROUP_MAX_REQUESTS = värde

Anger det maximala antalet samtidiga begäranden som tillåts köras i arbetsbelastningsgruppen. värdet måste vara 0 eller ett positivt heltal. Standardinställningen för värde är 0 och tillåter obegränsade begäranden. När maximalt antal samtidiga begäranden nås kan en session i gruppen skapas, men placeras i vänteläge tills antalet samtidiga begäranden sjunker under det angivna värdet.

USING { pool_name | [standard] }

Associerar arbetsbelastningsgruppen med den användardefinierade resurspoolen som identifieras av pool_nameeller med default resurspoolen. Om pool_name inte anges, eller om argumentet USING inte har angetts, associeras arbetsbelastningsgruppen med den inbyggda default poolen.

default är ett reserverat ord och när det anges i USING, måste omges av hakparenteser ([]) eller citattecken ("").

Inbyggda resurspooler och arbetsbelastningsgrupper använder alla gemener, till exempel default. Använd gemener default på servrar som använder en skiftlägeskänslig sortering. Servrar med skiftlägesokänslig sortering behandlar default, Defaultoch DEFAULT som samma värde.

Anmärkningar

ALTER WORKLOAD GROUP tillåts i arbetsbelastningsgruppen default, men inte i gruppen internal.

Ändringar i konfigurationen av arbetsbelastningsgruppen börjar inte gälla förrän ALTER RESOURCE GOVERNOR RECONFIGURE har körts.

Mer information finns i resource governor and Resource governor workload group.

MAXDOP

För en viss fråga bestäms effektiva MAXDOP på följande sätt:

  • MAXDOP som ett frågetips respekteras så länge det inte överskrider arbetsbelastningsgruppens MAX_DOP inställning.
  • MAXDOP som ett frågetips åsidosätter alltid max degree of parallelism serverkonfiguration. Mer information finns i Server-konfiguration: maximal grad av parallellitet.
  • Arbetsbelastningsgruppen MAX_DOP åsidosätter max degree of parallelism serverkonfiguration och MAXDOPdatabasomfattande konfiguration.

Gränsen för MAXDOP anges per aktivitet. Det är inte en per begäran eller per frågegräns. Under en körning av en parallell fråga kan en enskild begäran skapa flera uppgifter som har tilldelats till en schemaläggaren. Mer information finns i tråd- och aktivitetsarkitekturguiden.

När en fråga markeras som seriell vid kompileringstid (MAXDOP = 1) kan den inte köras med parallellitet vid körning oavsett arbetsbelastningsgrupp eller serverkonfigurationsinställning. När MAXDOP har bestämts för en fråga kan den bara sänkas på grund av minnesbelastning. Omkonfiguration av arbetsbelastningsgrupp påverkar inte frågor som väntar i kön för minnesbeviljande.

Cachelagrade planer

När du ändrar en plan som påverkar inställningen, till exempel MAX_DOP, börjar den nya inställningen gälla i tidigare cachelagrade planer först efter körningen av DBCC FREEPROCCACHE (<pool_name>), där <pool_name> är namnet på en resurspool som används av den aktuella arbetsbelastningsgruppen.

  • Om du ändrar MAX_DOP till 1 krävs inte körning av DBCC FREEPROCCACHE eftersom parallella planer kan köras i serieläge. En sådan plan kan dock vara mindre effektiv än en plan som sammanställts som en serieplan.
  • Om du ändrar MAX_DOP från 1 till 0 eller ett värde som är större än 1 krävs inte körning av DBCC FREEPROCCACHE. Serieplaner kan dock inte köras parallellt, så om du rensar respektive cache kan nya planer eventuellt kompileras med parallellitet.

Varning

Att rensa cachelagrade planer från en resurspool som är associerad med mer än en arbetsbelastningsgrupp påverkar alla arbetsbelastningsgrupper med hjälp av den användardefinierade resurspoolen som identifieras av <pool_name>.

Skapa index

Av prestandaskäl kan indexskapande använda mer minnesarbetsyta än vad som ursprungligen beviljades. Resursguvernören stöder den här särskilda hanteringen. Det första beviljandet och eventuella ytterligare minnesbidrag begränsas dock av arbetsbelastningsgruppen och inställningarna för resurspoolen.

Det minne som förbrukas för att skapa ett icke-berättigat index i en partitionerad tabell är proportionellt mot antalet berörda partitioner. Om det totala antalet minne som krävs överskrider gränsen per fråga som tillämpas av inställningen för REQUEST_MAX_MEMORY_GRANT_PERCENT arbetsbelastningsgrupp kan indexskapandet misslyckas. Eftersom den default arbetsbelastningsgruppen tillåter att en fråga överskrider gränsen per fråga med det minsta minne som krävs för att starta för bakåtkompatibilitet, kanske du kan skapa samma index med arbetsbelastningsgruppen default om default resurspoolen har tillräckligt med totalt minne.

Behörigheter

Kräver behörigheten CONTROL SERVER.

Exempel

I följande exempel visas hur du ändrar vikten av begäranden i standardgruppen från MEDIUM till LOW.

ALTER WORKLOAD GROUP [default]
WITH (IMPORTANCE = LOW);

ALTER RESOURCE GOVERNOR RECONFIGURE;

I följande exempel visas hur du flyttar en arbetsbelastningsgrupp från poolen som den för närvarande är i default poolen.

ALTER WORKLOAD GROUP adHoc
USING [default];

ALTER RESOURCE GOVERNOR RECONFIGURE;

* Azure Synapse
Analys *
 

 

Azure Synapse Analytics

Ändrar en befintlig arbetsbelastningsgrupp.

Mer information om hur ALTER WORKLOAD GROUP fungerar i ett system med körnings- och köbegäranden finns i avsnittet ALTER WORKLOAD GROUP beteende nedan.

Begränsningar för CREATE WORKLOAD GROUP gäller även för ALTER WORKLOAD GROUP. Innan du ändrar parametrar frågar du sys.workload_management_workload_groups för att säkerställa att värdena ligger inom godkända intervall.

Syntax

ALTER WORKLOAD GROUP group_name
WITH
([ MIN_PERCENTAGE_RESOURCE = value ]
  [ [ , ] CAP_PERCENTAGE_RESOURCE = value ]
  [ [ , ] REQUEST_MIN_RESOURCE_GRANT_PERCENT = value ]
  [ [ , ] REQUEST_MAX_RESOURCE_GRANT_PERCENT = value ]
  [ [ , ] IMPORTANCE = { LOW | BELOW_NORMAL | NORMAL | ABOVE_NORMAL | HIGH }]
  [ [ , ] QUERY_EXECUTION_TIMEOUT_SEC = value ] )
  [ ; ]

Argument

group_name

Ändras namnet på den befintliga användardefinierade arbetsbelastningsgruppen. group_name kan inte ändras.

MIN_PERCENTAGE_RESOURCE = värde

värde är ett heltalsintervall från 0 till 100. När du ändrar MIN_PERCENTAGE_RESOURCE får summan av MIN_PERCENTAGE_RESOURCE för alla arbetsbelastningsgrupper inte överstiga 100. För att ändra MIN_PERCENTAGE_RESOURCE måste alla frågor som körs slutföras i arbetsbelastningsgruppen innan kommandot slutförs. Mer information finns i avsnittet ALTER WORKLOAD GROUP behavior i den här artikeln.

CAP_PERCENTAGE_RESOURCE = värde

värde är ett heltalsintervall från 1 till 100. Värdet för CAP_PERCENTAGE_RESOURCE måste vara större än MIN_PERCENTAGE_RESOURCE. För att ändra CAP_PERCENTAGE_RESOURCE måste alla frågor som körs slutföras i arbetsbelastningsgruppen innan kommandot slutförs. Mer information finns i avsnittet ALTER WORKLOAD GROUP behavior i den här artikeln.

REQUEST_MIN_RESOURCE_GRANT_PERCENT = värde

värdet är en decimal med ett intervall mellan 0,75 och 100,00. Värdet för REQUEST_MIN_RESOURCE_GRANT_PERCENT måste vara en faktor för MIN_PERCENTAGE_RESOURCE och vara mindre än CAP_PERCENTAGE_RESOURCE.

REQUEST_MAX_RESOURCE_GRANT_PERCENT = värde

värdet är en decimal och måste vara större än REQUEST_MIN_RESOURCE_GRANT_PERCENT.

IMPORTANCE = { LOW | BELOW_NORMAL | NORMAL | ABOVE_NORMAL | HÖG }

Ändrar standardvikten för en begäran för arbetsbelastningsgruppen.

QUERY_EXECUTION_TIMEOUT_SEC = värde

Ändrar den maximala tid, i sekunder, som en fråga kan köra innan den avbryts. Värdet måste vara 0 eller ett positivt heltal. Standardinställningen för värdet är 0, vilket innebär obegränsad.

Behörigheter

Kräver behörigheten CONTROL DATABASE.

Exempel

I exemplet nedan kontrolleras värdena i katalogvyn för en arbetsbelastningsgrupp med namnet wgDataLoadsoch ändrar värdena.

SELECT *
FROM sys.workload_management_workload_groups
WHERE [name] = 'wgDataLoads'

ALTER WORKLOAD GROUP wgDataLoads WITH
( MIN_PERCENTAGE_RESOURCE            = 40
, CAP_PERCENTAGE_RESOURCE            = 80
, REQUEST_MIN_RESOURCE_GRANT_PERCENT = 10 )

ÄNDRA BETEENDE FÖR ARBETSBELASTNINGSGRUPP

När som helst finns det tre typer av begäranden i systemet:

  • Begäranden som inte har klassificerats ännu.
  • Begäranden som klassificeras och väntar på objektlås eller systemresurser.
  • Begäranden som klassificeras och körs.

Baserat på egenskaperna för en arbetsbelastningsgrupp som ändras skiljer sig tidpunkten för när inställningarna börjar gälla.

Prioritet eller query_execution_timeout

För egenskaperna prioritet och query_execution_timeout hämtar icke-klassificerade begäranden de nya konfigurationsvärdena. Väntande och körande begäranden körs med den gamla konfigurationen. Den ALTER WORKLOAD GROUP begäran körs omedelbart oavsett om det finns frågor som körs i arbetsbelastningsgruppen.

REQUEST_MIN_RESOURCE_GRANT_PERCENT eller REQUEST_MAX_RESOURCE_GRANT_PERCENT

För REQUEST_MIN_RESOURCE_GRANT_PERCENT och REQUEST_MAX_RESOURCE_GRANT_PERCENT körs begäranden med den gamla konfigurationen. Väntande begäranden och icke-klassificerade begäranden hämtar de nya konfigurationsvärdena. Den ALTER WORKLOAD GROUP begäran körs omedelbart oavsett om det finns frågor som körs i arbetsbelastningsgruppen.

MIN_PERCENTAGE_RESOURCE eller CAP_PERCENTAGE_RESOURCE

För MIN_PERCENTAGE_RESOURCE och CAP_PERCENTAGE_RESOURCE körs begäranden med den gamla konfigurationen. Väntande begäranden och icke-klassificerade begäranden hämtar de nya konfigurationsvärdena.

För att ändra MIN_PERCENTAGE_RESOURCE och CAP_PERCENTAGE_RESOURCE krävs att begäranden som körs i den arbetsbelastningsgrupp som ändras töms. När du minskar MIN_PERCENTAGE_RESOURCE returneras de frigjorda resurserna till resurspoolen så att begäranden från andra arbetsbelastningsgrupper kan användas. Omvänt väntar en ökning av MIN_PERCENTAGE_RESOURCE tills begäranden som endast använder de resurser som behövs från den delade poolen slutförs. Den ALTER WORKLOAD GROUP åtgärden har prioriterad åtkomst till delade resurser framför andra begäranden som väntar på att köras i en delad pool. Om summan av MIN_PERCENTAGE_RESOURCE överskrider 100%misslyckas ALTER WORKLOAD GROUP begäran omedelbart.

Låsningsbeteende

För att ändra en arbetsbelastningsgrupp krävs ett globalt lås för alla arbetsbelastningsgrupper. En begäran om att ändra en arbetsbelastningsgrupp skulle köa bakom redan skickade begäranden om att skapa eller ta bort arbetsbelastningsgrupper. Om en batch med alter-instruktioner skickas samtidigt bearbetas de i den ordning de skickas.

Se även