ALTER WORKLOAD GROUP (Transact-SQL)
Een product selecteren
Selecteer in de volgende rij de productnaam waarin u geïnteresseerd bent en alleen de informatie van dat product wordt weergegeven.
* SQL Server *
SQL Server en SQL Managed Instance
Hiermee wijzigt u de configuratie van een bestaande resource governor-workloadgroep en wijst u deze desgewenst toe aan een andere resourcegroep voor resource governors.
Notitie
Voor Azure SQL Managed Instance moet u zich in de context van de master
-database bevinden om de configuratie van resource governor te wijzigen.
Transact-SQL syntaxisconventies.
Syntaxis
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] } ]
[ ; ]
Argumenten
group_name | [standaard]
De naam van een bestaande door de gebruiker gedefinieerde workloadgroep of de ingebouwde resource governor-default
workloadgroep.
default
moet tussen haakjes ([]
) of aanhalingstekens (""
) staan wanneer deze worden gebruikt met ALTER WORKLOAD GROUP
om een conflict met DEFAULT
te voorkomen. Dit is een systeem gereserveerd woord. Zie Database-id'svoor meer informatie.
Ingebouwde resourcegroepen en workloadgroepen gebruiken alle kleine letters, zoals default
. Gebruik de kleine letters default
op servers die gebruikmaken van een hoofdlettergevoelige sortering. Servers met hoofdlettergevoelige sortering behandelen default
, Default
en DEFAULT
als dezelfde waarde.
URGENTIE = { LAAG | GEMIDDELD | HIGH }
Hiermee geeft u het relatieve belang van een aanvraag in de workloadgroep op. De standaardwaarde is MEDIUM
.
IMPORTANCE
is lokaal voor de resourcegroep die de workloadgroep bevat. Werkbelastinggroepen van verschillend belang binnen dezelfde resourcegroep zijn van invloed op elkaar, maar hebben geen invloed op workloadgroepen in andere resourcegroepen.
REQUEST_MAX_MEMORY_GRANT_PERCENT = waarde
Hiermee geeft u de maximale hoeveelheid querywerkruimtegeheugen op die één aanvraag uit de pool kan overnemen.
waarde is een percentage van de grootte van de resourcegroep die is gedefinieerd door MAX_MEMORY_PERCENT
. De standaardwaarde is 25.
In SQL Server 2017 (14.x) en ouder is waarde een geheel getal is en het toegestane bereik tussen 1 en 100 ligt.
Vanaf SQL Server 2019 (15.x) kan de waarde fractioneel zijn met behulp van het gegevenstype float
. Het toegestane bereik is van 0 tot en met 100.
Belangrijk
De opgegeven hoeveelheid verwijst alleen naar het querywerkruimtegeheugen dat is verkregen via querygeheugentoekenningen.
Het wordt niet aanbevolen om waarde in te stellen te groot (bijvoorbeeld groter dan 70), omdat de server mogelijk onvoldoende vrije geheugen kan instellen voor andere gelijktijdige query's. Dit kan leiden tot een time-out voor geheugentoe kennen fout 8645.
Als u waarde instelt op 0 of een kleine waarde, kunnen query's met operators waarvoor werkruimtegeheugen is vereist, zoals sort
en hash
, worden uitgevoerd in door de gebruiker gedefinieerde workloadgroepen. Als de vereisten voor het querygeheugen de limiet overschrijden die door deze parameter is gedefinieerd, gebeurt het volgende:
- Voor door de gebruiker gedefinieerde workloadgroepen probeert de server de mate van parallelle uitvoering (DOP) van de aanvraag (query) te verminderen totdat de geheugenvereiste onder de limiet valt of totdat DOP gelijk is aan 1. Als de vereiste voor het querygeheugen nog steeds groter is dan de limiet, treedt fout 8657 op en mislukt de query.
- Voor de
internal
- endefault
workloadgroepen kan de query het vereiste geheugen verkrijgen.
In beide gevallen kan fout 8645 optreden als de server onvoldoende fysiek geheugen heeft.
REQUEST_MAX_CPU_TIME_SEC = waarde
Hiermee geeft u de maximale hoeveelheid CPU-tijd in seconden op die een batchaanvraag kan gebruiken. waarde moet 0 of een positief geheel getal zijn. De standaardinstelling voor waarde is 0, wat onbeperkt betekent.
Wanneer de maximale CPU-tijd wordt overschreden, worden de cpu_threshold_exceeded
uitgebreide gebeurtenis en een traceringsgebeurtenis gegenereerd. Zie CPU-drempelwaarde overschreden gebeurtenisklassevoor meer informatie.
Wanneer de maximale CPU-tijd in Azure SQL Managed Instance wordt overschreden, wordt de aanvraag door resource governor afgebroken met fout 10961.
In SQL Server wordt de aanvraag niet standaard afgebroken door resource governor. Vanaf SQL Server 2016 (13.x) SP2 en SQL Server 2017 (14.x) CU3 wordt een aanvraag met fout 10961 afgebroken wanneer traceringsvlag 2422 is ingeschakeld en de maximale CPU-tijd wordt overschreden.
REQUEST_MEMORY_GRANT_TIMEOUT_SEC = waarde
Hiermee geeft u de maximale tijd in seconden op dat een query kan wachten tot een geheugentoekenning van het geheugen van de querywerkruimte beschikbaar is. waarde moet 0 of een positief geheel getal zijn. De standaardinstelling voor waarde, 0, gebruikt een interne berekening op basis van querykosten om de maximale tijd te bepalen.
Een query mislukt niet altijd wanneer een time-out voor geheugentoe kennen wordt bereikt. Een query mislukt alleen als er te veel gelijktijdige query's worden uitgevoerd. Anders krijgt de query mogelijk alleen de minimale geheugentoedeeling, wat resulteert in verminderde queryprestaties.
MAX_DOP = waarde
Hiermee geeft u de maximale mate van parallelle uitvoering (MAXDOP
) op voor parallelle uitvoering van query's. Het toegestane bereik voor waarde ligt tussen 0 en 64. De standaardinstelling voor waarde, 0, maakt gebruik van de globale instelling.
Zie MAXDOP-voor meer informatie.
GROUP_MAX_REQUESTS = waarde
Hiermee geeft u het maximum aantal gelijktijdige aanvragen op dat mag worden uitgevoerd in de workloadgroep. waarde moet 0 of een positief geheel getal zijn. De standaardinstelling voor waarde is 0 en staat onbeperkte aanvragen toe. Wanneer het maximum aantal gelijktijdige aanvragen is bereikt, kan een sessie in die groep worden gemaakt, maar in een wachtstatus worden geplaatst totdat het aantal gelijktijdige aanvragen onder de opgegeven waarde daalt.
USING { pool_name | [standaard] }
Koppelt de workloadgroep aan de door de gebruiker gedefinieerde resourcegroep die is geïdentificeerd door pool_nameof met de default
resourcegroep. Als pool_name niet is opgegeven of als het argument USING
niet is opgegeven, is de workloadgroep gekoppeld aan de ingebouwde default
-pool.
default
is een gereserveerd woord en wanneer dit is opgegeven in USING
, moet tussen vierkante haken ([]
) of aanhalingstekens (""
) worden geplaatst.
Ingebouwde resourcegroepen en workloadgroepen gebruiken alle kleine letters, zoals default
. Gebruik de kleine letters default
op servers die gebruikmaken van een hoofdlettergevoelige sortering. Servers met hoofdlettergevoelige sortering behandelen default
, Default
en DEFAULT
als dezelfde waarde.
Opmerkingen
ALTER WORKLOAD GROUP
is toegestaan voor de default
workloadgroep, maar niet voor de internal
groep.
Wijzigingen in de configuratie van de workloadgroep worden pas van kracht nadat ALTER RESOURCE GOVERNOR RECONFIGURE
is uitgevoerd.
Zie Resource governor en Resource Governor-workloadgroepvoor meer informatie.
MAXDOP
Voor een bepaalde query wordt de effectieve MAXDOP
als volgt bepaald:
-
MAXDOP
als een queryhint wordt uitgevoerd zolang deze niet groter is dan deMAX_DOP
instelling van de werkbelastinggroep. -
MAXDOP
als een queryhint overschrijft altijd de configuratie van demax degree of parallelism
-server. Zie Serverconfiguratie: maximale mate van parallelle uitvoeringvoor meer informatie. - Workloadgroep
MAX_DOP
de configuratie van demax degree of parallelism
server en deMAXDOP
databaseconfiguratieoverschrijft.
De MAXDOP
limiet wordt ingesteld per taak. Het is niet per aanvraag of per querylimiet. Tijdens een uitvoering van een parallelle query kan één aanvraag meerdere taken die zijn toegewezen aan een scheduler, worden gegenereerd. Zie de handleiding Thread en taakarchitectuurvoor meer informatie.
Wanneer een query wordt gemarkeerd als serieel tijdens het compileren (MAXDOP = 1
), kan deze niet worden uitgevoerd met parallelle uitvoering, ongeacht de configuratie-instelling van de workloadgroep of server. Nadat MAXDOP
is bepaald voor een query, kan deze alleen worden verlaagd vanwege geheugendruk. Herconfiguratie van workloadgroepen heeft geen invloed op query's die wachten in de wachtrij voor geheugentoekenning.
Plannen in cache
Wanneer u een plan wijzigt dat van invloed is op de instelling zoals MAX_DOP
, wordt de nieuwe instelling pas van kracht in eerder opgeslagen plannen nadat DBCC FREEPROCCACHE (<pool_name>)
is uitgevoerd, waarbij <pool_name>
de naam is van een resourcebeheerresourcegroep die wordt gebruikt door de huidige workloadgroep.
- Als u
MAX_DOP
wijzigt in 1, is het uitvoeren vanDBCC FREEPROCCACHE
niet vereist omdat parallelle plannen in de seriële modus kunnen worden uitgevoerd. Een dergelijk plan kan echter minder efficiënt zijn dan een plan dat is gecompileerd als een serieel plan. - Als u
MAX_DOP
wijzigt van 1 in 0 of een waarde groter dan 1, is het uitvoeren vanDBCC FREEPROCCACHE
niet vereist. Seriële plannen kunnen echter niet parallel worden uitgevoerd, dus als u de desbetreffende cache wist, kunnen nieuwe plannen mogelijk worden gecompileerd met behulp van parallelle uitvoering.
Waarschuwing
Het wissen van plannen in de cache van een resourcegroep die is gekoppeld aan meer dan één workloadgroep, is van invloed op alle workloadgroepen met behulp van de door de gebruiker gedefinieerde resourcegroep die is geïdentificeerd door <pool_name>
.
Index maken
Om prestatieredenen is het maken van een index toegestaan om meer geheugenwerkruimte te gebruiken dan in eerste instantie is verleend. Resource governor ondersteunt deze speciale verwerking. De eerste toekenning en eventuele aanvullende geheugentoelagen worden echter beperkt door de instellingen van de workloadgroep en resourcegroep.
Het geheugen dat wordt gebruikt om een niet-uitgelijnde index op een gepartitioneerde tabel te maken, is evenredig met het aantal betrokken partities. Als het totale vereiste geheugen de limiet per query overschrijdt die wordt afgedwongen door de instelling REQUEST_MAX_MEMORY_GRANT_PERCENT
workloadgroep, kan het maken van de index mislukken. Omdat de default
workloadgroep een query toestaat om de limiet per query te overschrijden met het minimaal vereiste geheugen voor achterwaartse compatibiliteit, kunt u mogelijk dezelfde index maken met behulp van de default
workloadgroep als de default
resourcegroep voldoende geheugen heeft.
Machtigingen
Hiervoor is de machtiging CONTROL SERVER
vereist.
Voorbeelden
In het volgende voorbeeld ziet u hoe u het belang van aanvragen in de standaardgroep wijzigt van MEDIUM
in LOW
.
ALTER WORKLOAD GROUP [default]
WITH (IMPORTANCE = LOW);
ALTER RESOURCE GOVERNOR RECONFIGURE;
In het volgende voorbeeld ziet u hoe u een workloadgroep verplaatst van de pool die deze momenteel in de default
-pool bevindt.
ALTER WORKLOAD GROUP adHoc
USING [default];
ALTER RESOURCE GOVERNOR RECONFIGURE;
Verwante inhoud
* SQL Managed Instance *
SQL Server en SQL Managed Instance
Hiermee wijzigt u de configuratie van een bestaande resource governor-workloadgroep en wijst u deze desgewenst toe aan een andere resourcegroep voor resource governors.
Notitie
Voor Azure SQL Managed Instance moet u zich in de context van de master
-database bevinden om de configuratie van resource governor te wijzigen.
Transact-SQL syntaxisconventies.
Syntaxis
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] } ]
[ ; ]
Argumenten
group_name | [standaard]
De naam van een bestaande door de gebruiker gedefinieerde workloadgroep of de ingebouwde resource governor-default
workloadgroep.
default
moet tussen haakjes ([]
) of aanhalingstekens (""
) staan wanneer deze worden gebruikt met ALTER WORKLOAD GROUP
om een conflict met DEFAULT
te voorkomen. Dit is een systeem gereserveerd woord. Zie Database-id'svoor meer informatie.
Ingebouwde resourcegroepen en workloadgroepen gebruiken alle kleine letters, zoals default
. Gebruik de kleine letters default
op servers die gebruikmaken van een hoofdlettergevoelige sortering. Servers met hoofdlettergevoelige sortering behandelen default
, Default
en DEFAULT
als dezelfde waarde.
URGENTIE = { LAAG | GEMIDDELD | HIGH }
Hiermee geeft u het relatieve belang van een aanvraag in de workloadgroep op. De standaardwaarde is MEDIUM
.
IMPORTANCE
is lokaal voor de resourcegroep die de workloadgroep bevat. Werkbelastinggroepen van verschillend belang binnen dezelfde resourcegroep zijn van invloed op elkaar, maar hebben geen invloed op workloadgroepen in andere resourcegroepen.
REQUEST_MAX_MEMORY_GRANT_PERCENT = waarde
Hiermee geeft u de maximale hoeveelheid querywerkruimtegeheugen op die één aanvraag uit de pool kan overnemen.
waarde is een percentage van de grootte van de resourcegroep die is gedefinieerd door MAX_MEMORY_PERCENT
. De standaardwaarde is 25.
In SQL Server 2017 (14.x) en ouder is waarde een geheel getal is en het toegestane bereik tussen 1 en 100 ligt.
Vanaf SQL Server 2019 (15.x) kan de waarde fractioneel zijn met behulp van het gegevenstype float
. Het toegestane bereik is van 0 tot en met 100.
Belangrijk
De opgegeven hoeveelheid verwijst alleen naar het querywerkruimtegeheugen dat is verkregen via querygeheugentoekenningen.
Het wordt niet aanbevolen om waarde in te stellen te groot (bijvoorbeeld groter dan 70), omdat de server mogelijk onvoldoende vrije geheugen kan instellen voor andere gelijktijdige query's. Dit kan leiden tot een time-out voor geheugentoe kennen fout 8645.
Als u waarde instelt op 0 of een kleine waarde, kunnen query's met operators waarvoor werkruimtegeheugen is vereist, zoals sort
en hash
, worden uitgevoerd in door de gebruiker gedefinieerde workloadgroepen. Als de vereisten voor het querygeheugen de limiet overschrijden die door deze parameter is gedefinieerd, gebeurt het volgende:
- Voor door de gebruiker gedefinieerde workloadgroepen probeert de server de mate van parallelle uitvoering (DOP) van de aanvraag (query) te verminderen totdat de geheugenvereiste onder de limiet valt of totdat DOP gelijk is aan 1. Als de vereiste voor het querygeheugen nog steeds groter is dan de limiet, treedt fout 8657 op en mislukt de query.
- Voor de
internal
- endefault
workloadgroepen kan de query het vereiste geheugen verkrijgen.
In beide gevallen kan fout 8645 optreden als de server onvoldoende fysiek geheugen heeft.
REQUEST_MAX_CPU_TIME_SEC = waarde
Hiermee geeft u de maximale hoeveelheid CPU-tijd in seconden op die een batchaanvraag kan gebruiken. waarde moet 0 of een positief geheel getal zijn. De standaardinstelling voor waarde is 0, wat onbeperkt betekent.
Wanneer de maximale CPU-tijd wordt overschreden, worden de cpu_threshold_exceeded
uitgebreide gebeurtenis en een traceringsgebeurtenis gegenereerd. Zie CPU-drempelwaarde overschreden gebeurtenisklassevoor meer informatie.
Wanneer de maximale CPU-tijd in Azure SQL Managed Instance wordt overschreden, wordt de aanvraag door resource governor afgebroken met fout 10961.
In SQL Server wordt de aanvraag niet standaard afgebroken door resource governor. Vanaf SQL Server 2016 (13.x) SP2 en SQL Server 2017 (14.x) CU3 wordt een aanvraag met fout 10961 afgebroken wanneer traceringsvlag 2422 is ingeschakeld en de maximale CPU-tijd wordt overschreden.
REQUEST_MEMORY_GRANT_TIMEOUT_SEC = waarde
Hiermee geeft u de maximale tijd in seconden op dat een query kan wachten tot een geheugentoekenning van het geheugen van de querywerkruimte beschikbaar is. waarde moet 0 of een positief geheel getal zijn. De standaardinstelling voor waarde, 0, gebruikt een interne berekening op basis van querykosten om de maximale tijd te bepalen.
Een query mislukt niet altijd wanneer een time-out voor geheugentoe kennen wordt bereikt. Een query mislukt alleen als er te veel gelijktijdige query's worden uitgevoerd. Anders krijgt de query mogelijk alleen de minimale geheugentoedeeling, wat resulteert in verminderde queryprestaties.
MAX_DOP = waarde
Hiermee geeft u de maximale mate van parallelle uitvoering (MAXDOP
) op voor parallelle uitvoering van query's. Het toegestane bereik voor waarde ligt tussen 0 en 64. De standaardinstelling voor waarde, 0, maakt gebruik van de globale instelling.
Zie MAXDOP-voor meer informatie.
GROUP_MAX_REQUESTS = waarde
Hiermee geeft u het maximum aantal gelijktijdige aanvragen op dat mag worden uitgevoerd in de workloadgroep. waarde moet 0 of een positief geheel getal zijn. De standaardinstelling voor waarde is 0 en staat onbeperkte aanvragen toe. Wanneer het maximum aantal gelijktijdige aanvragen is bereikt, kan een sessie in die groep worden gemaakt, maar in een wachtstatus worden geplaatst totdat het aantal gelijktijdige aanvragen onder de opgegeven waarde daalt.
USING { pool_name | [standaard] }
Koppelt de workloadgroep aan de door de gebruiker gedefinieerde resourcegroep die is geïdentificeerd door pool_nameof met de default
resourcegroep. Als pool_name niet is opgegeven of als het argument USING
niet is opgegeven, is de workloadgroep gekoppeld aan de ingebouwde default
-pool.
default
is een gereserveerd woord en wanneer dit is opgegeven in USING
, moet tussen vierkante haken ([]
) of aanhalingstekens (""
) worden geplaatst.
Ingebouwde resourcegroepen en workloadgroepen gebruiken alle kleine letters, zoals default
. Gebruik de kleine letters default
op servers die gebruikmaken van een hoofdlettergevoelige sortering. Servers met hoofdlettergevoelige sortering behandelen default
, Default
en DEFAULT
als dezelfde waarde.
Opmerkingen
ALTER WORKLOAD GROUP
is toegestaan voor de default
workloadgroep, maar niet voor de internal
groep.
Wijzigingen in de configuratie van de workloadgroep worden pas van kracht nadat ALTER RESOURCE GOVERNOR RECONFIGURE
is uitgevoerd.
Zie Resource governor en Resource Governor-workloadgroepvoor meer informatie.
MAXDOP
Voor een bepaalde query wordt de effectieve MAXDOP
als volgt bepaald:
-
MAXDOP
als een queryhint wordt uitgevoerd zolang deze niet groter is dan deMAX_DOP
instelling van de werkbelastinggroep. -
MAXDOP
als een queryhint overschrijft altijd de configuratie van demax degree of parallelism
-server. Zie Serverconfiguratie: maximale mate van parallelle uitvoeringvoor meer informatie. - Workloadgroep
MAX_DOP
de configuratie van demax degree of parallelism
server en deMAXDOP
databaseconfiguratieoverschrijft.
De MAXDOP
limiet wordt ingesteld per taak. Het is niet per aanvraag of per querylimiet. Tijdens een uitvoering van een parallelle query kan één aanvraag meerdere taken die zijn toegewezen aan een scheduler, worden gegenereerd. Zie de handleiding Thread en taakarchitectuurvoor meer informatie.
Wanneer een query wordt gemarkeerd als serieel tijdens het compileren (MAXDOP = 1
), kan deze niet worden uitgevoerd met parallelle uitvoering, ongeacht de configuratie-instelling van de workloadgroep of server. Nadat MAXDOP
is bepaald voor een query, kan deze alleen worden verlaagd vanwege geheugendruk. Herconfiguratie van workloadgroepen heeft geen invloed op query's die wachten in de wachtrij voor geheugentoekenning.
Plannen in cache
Wanneer u een plan wijzigt dat van invloed is op de instelling zoals MAX_DOP
, wordt de nieuwe instelling pas van kracht in eerder opgeslagen plannen nadat DBCC FREEPROCCACHE (<pool_name>)
is uitgevoerd, waarbij <pool_name>
de naam is van een resourcebeheerresourcegroep die wordt gebruikt door de huidige workloadgroep.
- Als u
MAX_DOP
wijzigt in 1, is het uitvoeren vanDBCC FREEPROCCACHE
niet vereist omdat parallelle plannen in de seriële modus kunnen worden uitgevoerd. Een dergelijk plan kan echter minder efficiënt zijn dan een plan dat is gecompileerd als een serieel plan. - Als u
MAX_DOP
wijzigt van 1 in 0 of een waarde groter dan 1, is het uitvoeren vanDBCC FREEPROCCACHE
niet vereist. Seriële plannen kunnen echter niet parallel worden uitgevoerd, dus als u de desbetreffende cache wist, kunnen nieuwe plannen mogelijk worden gecompileerd met behulp van parallelle uitvoering.
Waarschuwing
Het wissen van plannen in de cache van een resourcegroep die is gekoppeld aan meer dan één workloadgroep, is van invloed op alle workloadgroepen met behulp van de door de gebruiker gedefinieerde resourcegroep die is geïdentificeerd door <pool_name>
.
Index maken
Om prestatieredenen is het maken van een index toegestaan om meer geheugenwerkruimte te gebruiken dan in eerste instantie is verleend. Resource governor ondersteunt deze speciale verwerking. De eerste toekenning en eventuele aanvullende geheugentoelagen worden echter beperkt door de instellingen van de workloadgroep en resourcegroep.
Het geheugen dat wordt gebruikt om een niet-uitgelijnde index op een gepartitioneerde tabel te maken, is evenredig met het aantal betrokken partities. Als het totale vereiste geheugen de limiet per query overschrijdt die wordt afgedwongen door de instelling REQUEST_MAX_MEMORY_GRANT_PERCENT
workloadgroep, kan het maken van de index mislukken. Omdat de default
workloadgroep een query toestaat om de limiet per query te overschrijden met het minimaal vereiste geheugen voor achterwaartse compatibiliteit, kunt u mogelijk dezelfde index maken met behulp van de default
workloadgroep als de default
resourcegroep voldoende geheugen heeft.
Machtigingen
Hiervoor is de machtiging CONTROL SERVER
vereist.
Voorbeelden
In het volgende voorbeeld ziet u hoe u het belang van aanvragen in de standaardgroep wijzigt van MEDIUM
in LOW
.
ALTER WORKLOAD GROUP [default]
WITH (IMPORTANCE = LOW);
ALTER RESOURCE GOVERNOR RECONFIGURE;
In het volgende voorbeeld ziet u hoe u een workloadgroep verplaatst van de pool die deze momenteel in de default
-pool bevindt.
ALTER WORKLOAD GROUP adHoc
USING [default];
ALTER RESOURCE GOVERNOR RECONFIGURE;
Verwante inhoud
* Azure Synapse
Analyse *
Azure Synapse Analytics
Wijzigt een bestaande workloadgroep.
Zie de sectie ALTER WORKLOAD GROUP
gedrag hieronder voor meer informatie over hoe ALTER WORKLOAD GROUP
zich gedraagt op een systeem met actieve en in de wachtrij geplaatste aanvragen.
Er gelden ook beperkingen voor CREATE WORKLOAD GROUP van toepassing op ALTER WORKLOAD GROUP
. Voordat u parameters wijzigt, sys.workload_management_workload_groups query's om ervoor te zorgen dat de waarden binnen acceptabele bereiken vallen.
Syntaxis
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 ] )
[ ; ]
Argumenten
group_name
Is de naam van de bestaande door de gebruiker gedefinieerde workloadgroep die wordt gewijzigd. group_name kan niet worden gewijzigd.
MIN_PERCENTAGE_RESOURCE = waarde
waarde is een geheel getal tussen 0 en 100. Bij het wijzigen van MIN_PERCENTAGE_RESOURCE mag de som van MIN_PERCENTAGE_RESOURCE voor alle workloadgroepen niet groter zijn dan 100. Als u MIN_PERCENTAGE_RESOURCE wijzigt, moeten alle actieve query's worden voltooid in de workloadgroep voordat de opdracht wordt voltooid. Zie de sectie ALTER WORKLOAD GROUP-gedrag in dit artikel voor meer informatie.
CAP_PERCENTAGE_RESOURCE = waarde
waarde is een geheel getal tussen 1 en 100. De waarde voor CAP_PERCENTAGE_RESOURCE moet groter zijn dan MIN_PERCENTAGE_RESOURCE. Als u CAP_PERCENTAGE_RESOURCE wijzigt, moeten alle actieve query's in de workloadgroep worden voltooid voordat de opdracht wordt voltooid. Zie de sectie ALTER WORKLOAD GROUP-gedrag in dit artikel voor meer informatie.
REQUEST_MIN_RESOURCE_GRANT_PERCENT = waarde
waarde een decimaal getal is met een bereik tussen 0,75 en 100,00. De waarde voor REQUEST_MIN_RESOURCE_GRANT_PERCENT moet een factor van MIN_PERCENTAGE_RESOURCE zijn en kleiner zijn dan CAP_PERCENTAGE_RESOURCE.
REQUEST_MAX_RESOURCE_GRANT_PERCENT = waarde
waarde een decimaal getal is en moet groter zijn dan REQUEST_MIN_RESOURCE_GRANT_PERCENT.
URGENTIE = { LAAG | BELOW_NORMAL | NORMAAL | ABOVE_NORMAL | HIGH }
Hiermee wijzigt u het standaardbelang van een aanvraag voor de workloadgroep.
QUERY_EXECUTION_TIMEOUT_SEC = waarde
Hiermee wijzigt u de maximale tijd in seconden die een query kan uitvoeren voordat deze wordt geannuleerd. De waarde moet 0 of een positief geheel getal zijn. De standaardinstelling voor waarde is 0, wat onbeperkt betekent.
Machtigingen
Hiervoor is machtiging CONTROL DATABASE vereist.
Voorbeeld
In het onderstaande voorbeeld worden de waarden in de catalogusweergave gecontroleerd op een workloadgroep met de naam wgDataLoadsen worden de waarden gewijzigd.
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 )
GEDRAG VAN ALTER WORKLOAD GROUP
Op elk moment zijn er drie soorten aanvragen in het systeem:
- Aanvragen die nog niet zijn geclassificeerd.
- Aanvragen die zijn geclassificeerd en wachten op objectvergrendelingen of systeembronnen.
- Aanvragen die zijn geclassificeerd en worden uitgevoerd.
Op basis van de eigenschappen van een workloadgroep die wordt gewijzigd, verschilt de timing van wanneer de instellingen van kracht worden.
Urgentie of query_execution_timeout
Voor het belang en query_execution_timeout eigenschappen halen niet-geclassificeerde aanvragen de nieuwe configuratiewaarden op. Wachtende en actieve aanvragen worden uitgevoerd met de oude configuratie. De ALTER WORKLOAD GROUP
aanvraag wordt onmiddellijk uitgevoerd, ongeacht of er query's in de workloadgroep worden uitgevoerd.
REQUEST_MIN_RESOURCE_GRANT_PERCENT of REQUEST_MAX_RESOURCE_GRANT_PERCENT
Voor REQUEST_MIN_RESOURCE_GRANT_PERCENT en REQUEST_MAX_RESOURCE_GRANT_PERCENT worden actieve aanvragen uitgevoerd met de oude configuratie. Wachtende aanvragen en niet-geclassificeerde aanvragen halen de nieuwe configuratiewaarden op. De ALTER WORKLOAD GROUP
aanvraag wordt onmiddellijk uitgevoerd, ongeacht of er query's in de workloadgroep worden uitgevoerd.
MIN_PERCENTAGE_RESOURCE of CAP_PERCENTAGE_RESOURCE
Voor MIN_PERCENTAGE_RESOURCE en CAP_PERCENTAGE_RESOURCE worden actieve aanvragen uitgevoerd met de oude configuratie. Wachtende aanvragen en niet-geclassificeerde aanvragen halen de nieuwe configuratiewaarden op.
Voor het wijzigen van MIN_PERCENTAGE_RESOURCE en CAP_PERCENTAGE_RESOURCE moeten actieve aanvragen in de workloadgroep worden verwijderd die worden gewijzigd. Wanneer u MIN_PERCENTAGE_RESOURCE verlaagt, worden de vrijgemaakte resources geretourneerd naar de sharegroep, zodat aanvragen van andere workloadgroepen de mogelijkheid hebben om te gebruiken. Omgekeerd wacht het verhogen van de MIN_PERCENTAGE_RESOURCE tot aanvragen die alleen de benodigde resources van de gedeelde pool gebruiken om te voltooien. De ALTER WORKLOAD GROUP
-bewerking heeft prioriteit gegeven aan toegang tot gedeelde resources boven andere aanvragen die wachten om te worden uitgevoerd in een gedeelde pool. Als de som van MIN_PERCENTAGE_RESOURCE groter is dan 100%, mislukt de ALTER WORKLOAD GROUP
aanvraag onmiddellijk.
Vergrendelingsgedrag
Voor het wijzigen van een workloadgroep is een globale vergrendeling voor alle workloadgroepen vereist. Een aanvraag voor het wijzigen van een workloadgroep zou achter al ingediende aanvragen voor het maken of verwijderen van workloadgroepen in de wachtrij plaatsen. Als een batch met wijzigingsinstructies tegelijk wordt ingediend, worden ze verwerkt in de volgorde waarin ze worden verzonden.
Zie ook
- WORKLOADGROEP MAKEN (Transact-SQL)
-
VAN DE WERKBELASTINGGROEP (Transact-SQL) VERWIJDEREN - sys.workload_management_workload_groups
- sys.dm_workload_management_workload_groups_stats
- quickstart: Isolatie van werkbelastingen configureren met behulp van T-SQL-