Delen via


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 DEFAULTte 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, Defaulten 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- en default 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, Defaulten 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 de MAX_DOP instelling van de werkbelastinggroep.
  • MAXDOP als een queryhint overschrijft altijd de configuratie van de max degree of parallelism-server. Zie Serverconfiguratie: maximale mate van parallelle uitvoeringvoor meer informatie.
  • Workloadgroep MAX_DOP de configuratie van de max degree of parallelism server en de MAXDOPdatabaseconfiguratieoverschrijft.

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 van DBCC 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 van DBCC 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;

* 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 DEFAULTte 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, Defaulten 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- en default 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, Defaulten 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 de MAX_DOP instelling van de werkbelastinggroep.
  • MAXDOP als een queryhint overschrijft altijd de configuratie van de max degree of parallelism-server. Zie Serverconfiguratie: maximale mate van parallelle uitvoeringvoor meer informatie.
  • Workloadgroep MAX_DOP de configuratie van de max degree of parallelism server en de MAXDOPdatabaseconfiguratieoverschrijft.

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 van DBCC 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 van DBCC 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;

* 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