Ä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
, Default
och 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
ochdefault
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
, Default
och 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 arbetsbelastningsgruppensMAX_DOP
inställning. -
MAXDOP
som ett frågetips åsidosätter alltidmax degree of parallelism
serverkonfiguration. Mer information finns i Server-konfiguration: maximal grad av parallellitet. - Arbetsbelastningsgruppen
MAX_DOP
åsidosättermax degree of parallelism
serverkonfiguration ochMAXDOP
databasomfattande 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 avDBCC 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 avDBCC 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;
Relaterat innehåll
* 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
, Default
och 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
ochdefault
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
, Default
och 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 arbetsbelastningsgruppensMAX_DOP
inställning. -
MAXDOP
som ett frågetips åsidosätter alltidmax degree of parallelism
serverkonfiguration. Mer information finns i Server-konfiguration: maximal grad av parallellitet. - Arbetsbelastningsgruppen
MAX_DOP
åsidosättermax degree of parallelism
serverkonfiguration ochMAXDOP
databasomfattande 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 avDBCC 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 avDBCC 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;
Relaterat innehåll
* 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.