Delen via


CREATE 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 maakt u een resource governor-workloadgroep en koppelt u de workloadgroep aan een resourcegroep van resource governors.

Resource governor is niet beschikbaar in elke editie van SQL Server. Zie -edities en ondersteunde functies van SQL Server 2022voor een lijst met functies die worden ondersteund door de edities van SQL Server.

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

CREATE WORKLOAD GROUP group_name
[ 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] ]
    [ [ , ] EXTERNAL external_pool_name | [default] ]
    } ]
[ ; ]

Argumenten

group_name

De door de gebruiker gedefinieerde naam voor de workloadgroep. group_name alfanumeriek is, kan maximaal 128 tekens zijn, moet uniek zijn binnen een exemplaar van de database-engine en moet voldoen aan de regels voor Database-id's.

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 aanvraag kan gebruiken. waarde moet 0 of een positief geheel getal zijn. De standaardinstelling voor waarde is 0, wat onbeperkt betekent.

Resource Governor voorkomt standaard niet dat een aanvraag wordt voortgezet als de maximale tijd wordt overschreden. Er wordt echter een gebeurtenis gegenereerd. Zie CPU-drempelwaarde overschreden gebeurtenisklassevoor meer informatie.

Vanaf SQL Server 2016 (13.x) SP2 en SQL Server 2017 (14.x) CU3 en met behulp van traceringsvlag 2422, wordt een aanvraag afgebroken wanneer 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.

EXTERNAL external_pool_name | [standaard]

Van toepassing op: SQL Server 2016 (13.x) en hoger.

Werkbelastinggroep kan een externe resourcegroep opgeven. U kunt een workloadgroep definiëren en deze koppelen aan twee pools:

  • Een resourcegroep voor de database-engineworkloads.
  • Een externe resourcegroep voor externe processen. Zie sp_execute_external_scriptvoor meer informatie.

Opmerkingen

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.

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.

Voorbeeld

Hiermee maakt u een workloadgroep met de naam newReports in de default resourcegroep en beperkt u de maximale geheugentoekenning, de maximale CPU-tijd voor een aanvraag en MAXDOP.

CREATE WORKLOAD GROUP newReports
WITH (
     REQUEST_MAX_MEMORY_GRANT_PERCENT = 2.5,
     REQUEST_MAX_CPU_TIME_SEC = 100,
     MAX_DOP = 4
     )
USING [default];

* SQL Managed Instance *  

 

SQL Server en SQL Managed Instance

Hiermee maakt u een resource governor-workloadgroep en koppelt u de workloadgroep aan een resourcegroep van resource governors.

Resource governor is niet beschikbaar in elke editie van SQL Server. Zie -edities en ondersteunde functies van SQL Server 2022voor een lijst met functies die worden ondersteund door de edities van SQL Server.

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

CREATE WORKLOAD GROUP group_name
[ 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] ]
    [ [ , ] EXTERNAL external_pool_name | [default] ]
    } ]
[ ; ]

Argumenten

group_name

De door de gebruiker gedefinieerde naam voor de workloadgroep. group_name alfanumeriek is, kan maximaal 128 tekens zijn, moet uniek zijn binnen een exemplaar van de database-engine en moet voldoen aan de regels voor Database-id's.

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 aanvraag kan gebruiken. waarde moet 0 of een positief geheel getal zijn. De standaardinstelling voor waarde is 0, wat onbeperkt betekent.

Resource Governor voorkomt standaard niet dat een aanvraag wordt voortgezet als de maximale tijd wordt overschreden. Er wordt echter een gebeurtenis gegenereerd. Zie CPU-drempelwaarde overschreden gebeurtenisklassevoor meer informatie.

Vanaf SQL Server 2016 (13.x) SP2 en SQL Server 2017 (14.x) CU3 en met behulp van traceringsvlag 2422, wordt een aanvraag afgebroken wanneer 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.

EXTERNAL external_pool_name | [standaard]

Van toepassing op: SQL Server 2016 (13.x) en hoger.

Werkbelastinggroep kan een externe resourcegroep opgeven. U kunt een workloadgroep definiëren en deze koppelen aan twee pools:

  • Een resourcegroep voor de database-engineworkloads.
  • Een externe resourcegroep voor externe processen. Zie sp_execute_external_scriptvoor meer informatie.

Opmerkingen

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.

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.

Voorbeeld

Hiermee maakt u een workloadgroep met de naam newReports in de default resourcegroep en beperkt u de maximale geheugentoekenning, de maximale CPU-tijd voor een aanvraag en MAXDOP.

CREATE WORKLOAD GROUP newReports
WITH (
     REQUEST_MAX_MEMORY_GRANT_PERCENT = 2.5,
     REQUEST_MAX_CPU_TIME_SEC = 100,
     MAX_DOP = 4
     )
USING [default];

* Azure Synapse
Analyse *
 

 

Azure Synapse Analytics

Hiermee maakt u een workloadgroep. Workloadgroepen zijn containers voor een set aanvragen en vormen de basis voor de configuratie van workloadbeheer op een systeem. Workloadgroepen bieden de mogelijkheid om resources te reserveren voor isolatie van workloads, resources te bevatten, resources per aanvraag te definiëren en te voldoen aan uitvoeringsregels. Zodra de instructie is voltooid, zijn de instellingen van kracht.

Transact-SQL syntaxisconventies

CREATE 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 ] )
  [ ; ]

group_name
Hiermee geeft u de naam op waarmee de werkbelastinggroep wordt geïdentificeerd. group_name is een sysname. Het mag maximaal 128 tekens lang zijn en moet uniek zijn binnen het exemplaar.

MIN_PERCENTAGE_RESOURCE = waarde
Geeft een gegarandeerde minimale resourcetoewijzing op voor deze workloadgroep die niet wordt gedeeld met andere workloadgroepen. Geheugen is de enige resource die wordt beheerd door deze parameter. waarde is een geheel getal tussen 0 en 100. De som van min_percentage_resource voor alle workloadgroepen mag niet groter zijn dan 100. De waarde voor min_percentage_resource mag niet groter zijn dan cap_percentage_resource. Er zijn minimale effectieve waarden toegestaan per serviceniveau. Zie Effectieve waarden voor meer informatie.

CAP_PERCENTAGE_RESOURCE = waarde
Hiermee geeft u het maximale resourcegebruik voor alle aanvragen in een workloadgroep op. Zowel CPU- als geheugenresources worden beperkt door deze parameter. Het toegestane gehele getal voor waarde is 1 tot en met 100. De waarde voor cap_percentage_resource moet groter zijn dan min_percentage_resource. De effectieve waarde voor cap_percentage_resource kan worden verminderd als min_percentage_resource groter is dan nul in andere werkbelastinggroepen.

REQUEST_MIN_RESOURCE_GRANT_PERCENT = waarde
Stelt de minimale hoeveelheid resources in die per aanvraag zijn toegewezen. Geheugen is de enige resource die wordt beheerd door deze parameter. waarde is een vereiste parameter met een decimaal bereik tussen 0,75 en 100,00. De waarde voor request_min_resource_grant_percent moet een veelvoud van 0,25 zijn, moet een factor van min_percentage_resource zijn en kleiner zijn dan cap_percentage_resource. Er zijn minimale effectieve waarden toegestaan per serviceniveau. Zie Effectieve waarden voor meer informatie.

Bijvoorbeeld:

CREATE WORKLOAD GROUP wgSample 
WITH
  ( MIN_PERCENTAGE_RESOURCE = 26                -- integer value
    , REQUEST_MIN_RESOURCE_GRANT_PERCENT = 3.25 -- factor of 26 (guaranteed a minimum of 8 concurrency)
    , CAP_PERCENTAGE_RESOURCE = 100 )

Houd rekening met de waarden die worden gebruikt voor resourceklassen als richtlijn voor request_min_resource_grant_percent. De onderstaande tabel bevat resourcetoewijzingen voor Gen2.

Resourceklasse Percentage resources
Smallrc 3%
Mediumrc 10%
Largerc 22%
Xlargerc 70%

REQUEST_MAX_RESOURCE_GRANT_PERCENT = waarde

Hiermee stelt u de maximale hoeveelheid resources in die per aanvraag zijn toegewezen. Geheugen is de enige resource die wordt beheerd door deze parameter. waarde is een optionele decimale parameter met een standaardwaarde die gelijk is aan de request_min_resource_grant_percent. waarde moet groter zijn dan of gelijk zijn aan request_min_resource_grant_percent. Wanneer de waarde van request_max_resource_grant_percent groter is dan request_min_resource_grant_percent en systeemresources beschikbaar zijn, worden er extra resources toegewezen aan een aanvraag.

BELANG = { LAAG | BELOW_NORMAL | NORMAAL | ABOVE_NORMAL | HIGH }

Hiermee geeft u het standaardbelang van een aanvraag voor de workloadgroep. Urgentie is een van de volgende, waarbij NORMAL de standaardwaarde is:

  • LAAG
  • BELOW_NORMAL
  • NORMAL (standaard)
  • ABOVE_NORMAL
  • HOOG

Urgentie die is ingesteld bij de workloadgroep, is een standaardbelang voor alle aanvragen in de workloadgroep. Een gebruiker kan ook urgentie instellen op classificatieniveau, waardoor de instelling voor de urgentie van de werkbelastinggroep kan worden overschreven. Hierdoor kan onderscheid worden gemaakt tussen aanvragen binnen een workloadgroep om sneller toegang te krijgen tot niet-gereserveerde resources. Wanneer de som van min_percentage_resource voor workloadgroepen kleiner is dan 100, zijn er niet-gereserveerde resources toegewezen op basis van belang.

QUERY_EXECUTION_TIMEOUT_SEC = waarde

Hiermee geeft u de maximale tijd in seconden op die een query kan uitvoeren voordat deze wordt geannuleerd. waarde moet 0 of een positief geheel getal zijn. De standaardinstelling voor waarde is 0, waardoor er nooit een time-out optreedt voor de query. QUERY_EXECUTION_TIMEOUT_SEC telt zodra de query actief is, niet wanneer de query in de wachtrij wordt geplaatst.

Opmerkingen

Workloadgroepen die overeenkomen met resourceklassen worden automatisch gemaakt voor achterwaartse compatibiliteit. Deze door het systeem gedefinieerde workloadgroepen kunnen niet worden verwijderd. Er kunnen nog 8 door de gebruiker gedefinieerde workloadgroepen worden gemaakt.

Als een workloadgroep met min_percentage_resource groter dan nul wordt gemaakt, wordt de CREATE WORKLOAD GROUP-instructie in de wachtrij geplaatst totdat er voldoende resources zijn om de workloadgroep te maken.

Effectieve waarden

De parameters min_percentage_resource, cap_percentage_resource, request_min_resource_grant_percent en request_max_resource_grant_percent hebben effectieve waarden die worden aangepast in de context van het huidige serviceniveau en de configuratie van andere workloadgroepen.

De parameter request_min_resource_grant_percent heeft een effectieve waarde omdat er minimaal resources nodig zijn per query, afhankelijk van het serviceniveau. Op het laagste serviceniveau dw100c is bijvoorbeeld minimaal 25% resources per aanvraag nodig. Als de workloadgroep is geconfigureerd met 3% request_min_resource_grant_percent en request_max_resource_grant_percent, worden de effectieve waarden voor beide parameters aangepast aan 25% wanneer het exemplaar wordt gestart. Als het exemplaar wordt opgeschaald naar DW1000c, zijn de geconfigureerde en effectieve waarden voor beide parameters 3% omdat 3% de minimaal ondersteunde waarde op dat serviceniveau is. Als het exemplaar hoger is dan DW1000c, blijven de geconfigureerde en effectieve waarden voor beide parameters 3%. Zie de onderstaande tabel voor meer informatie over effectieve waarden op de verschillende serviceniveaus.

Serviceniveau Laagste effectieve waarde voor REQUEST_MIN_RESOURCE_GRANT_PERCENT Maximum aantal gelijktijdige query's
DW100c 25% 4
DW200c 12,5% 8
DW300c 8% 12
DW400c 6.25% 16
DW500c 5% 20
DW1000c 3% 32
DW1500c 3% 32
DW2000c 2% 48
DW2500c 2% 48
DW3000c 1,5% 64
DW5000c 1,5% 64
DW6000c 0,75% 128
DW7500c 0,75% 128
DW10000c 0,75% 128
DW15000c 0,75% 128
DW30000c 0,75% 128

De parameter min_percentage_resource moet groter dan of gelijk zijn aan de effectieve request_min_resource_grant_percent. Een workloadgroep met min_percentage_resource minder dan effectief min_percentage_resource heeft de waarde aangepast aan nul tijdens runtime. Als dit gebeurt, zijn de resources die zijn geconfigureerd voor min_percentage_resource deelbaar voor alle workloadgroepen. De workloadgroep wgAdHoc bijvoorbeeld met een min_percentage_resource van 10% die wordt uitgevoerd op DW1000c, heeft een effectieve min_percentage_resource van 10% (3% is de minimaal ondersteunde waarde bij DW1000c). wgAdhoc bij DW100c zou een effectieve min_percentage_resource van 0%hebben. De 10% die voor wgAdhoc zijn geconfigureerd, worden gedeeld in alle workloadgroepen.

De parameter cap_percentage_resource heeft ook een effectieve waarde. Als een workloadgroep wgAdhoc is geconfigureerd met een cap_percentage_resource van 100% en een andere workloadgroep wgDashboards wordt gemaakt met 25% min_percentage_resource, wordt de effectieve cap_percentage_resource voor wgAdhoc 75%.

De eenvoudigste manier om de runtimewaarden voor uw workloadgroepen te begrijpen, is door een query uit te voeren op de systeemweergave sys.dm_workload_management_workload_groups_stats.

Machtigingen

Hiervoor is CONTROL DATABASE-machtiging vereist

Zie ook