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
- 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 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
, Default
en 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 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.
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];
Verwante inhoud
* 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
- 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 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
, Default
en 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 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.
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];
Verwante inhoud
* 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
-
VAN DE WERKBELASTINGGROEP (Transact-SQL) VERWIJDEREN - ALTER WORKLOAD GROUP (Transact-SQL)
- sys.workload_management_workload_groups
- sys.dm_workload_management_workload_groups_stats
- quickstart: Isolatie van werkbelastingen configureren met behulp van T-SQL-