Sdílet prostřednictvím


ALTER WORKLOAD GROUP (Transact-SQL)

Výběr produktu

V následujícím řádku vyberte název produktu, který vás zajímá, a zobrazí se jenom informace o daném produktu.

* SQL Server *  

spravované instance SQL

 

SQL Server a spravovaná instance SQL

Změní existující konfiguraci skupiny úloh správce prostředků a volitelně ji přiřadí jinému fondu zdrojů správce prostředků.

Poznámka

Pro službu Azure SQL Managed Instance musíte být v kontextu master databáze, abyste mohli upravit konfiguraci správce prostředků.

Transact-SQL konvence syntaxe.

Syntax

ALTER WORKLOAD GROUP { group_name | [default] }
[ WITH
    ([ IMPORTANCE = { LOW | MEDIUM | HIGH } ]
      [ [ , ] REQUEST_MAX_MEMORY_GRANT_PERCENT = value ]
      [ [ , ] REQUEST_MAX_CPU_TIME_SEC = value ]
      [ [ , ] REQUEST_MEMORY_GRANT_TIMEOUT_SEC = value ]
      [ [ , ] MAX_DOP = value ]
      [ [ , ] GROUP_MAX_REQUESTS = value ] )
]
[ USING { pool_name | [default] } ]
[ ; ]

Argumenty

group_name | [výchozí]

Název existující uživatelem definované skupiny úloh nebo předdefinovaný správce prostředků default skupinu úloh.

default musí být v hranatých závorkách ([]) nebo uvozovkách ("") při použití s ALTER WORKLOAD GROUP, aby nedocházelo ke konfliktu s DEFAULT, což je rezervované slovo systému. Další informace naleznete v tématu Identifikátory databáze.

Předdefinované fondy zdrojů a skupiny úloh používají všechna malá písmena, například default. Používejte malá písmena default na serverech, které používají kolaci s rozlišováním velkých a malých písmen. Servery bez rozlišování velkých a malých písmen zachází s default, Defaulta DEFAULT se stejnou hodnotou.

DŮLEŽITOST = { NÍZKÁ | STŘEDNÍ | HIGH }

Určuje relativní důležitost požadavku ve skupině úloh. Výchozí hodnota je MEDIUM.

IMPORTANCE je místní pro fond zdrojů, který obsahuje skupinu úloh. Skupiny úloh s různou důležitostí ve stejném fondu zdrojů se vzájemně ovlivňují, ale nemají vliv na skupiny úloh v jiných fondech zdrojů.

REQUEST_MAX_MEMORY_GRANT_PERCENT = hodnota

Určuje maximální velikost paměti pracovního prostoru dotazu, kterou může jeden požadavek převzít z fondu. hodnota je procento velikosti fondu zdrojů definované MAX_MEMORY_PERCENT. Výchozí hodnota je 25.

V SQL Serveru 2017 (14.x) a starším je hodnota celé číslo a povolený rozsah je od 1 do 100.

Počínaje SQL Serverem 2019 (15.x) může být hodnota zlomková pomocí datového typu float. Povolený rozsah je od 0 do 100.

Důležitý

Zadaná částka odkazuje pouze na paměť pracovního prostoru dotazu získanou prostřednictvím udělení paměti dotazu.

Nedoporučuje se nastavit hodnotu příliš velká (například větší než 70), protože server nemusí být schopen vyhradit dostatek volné paměti pro ostatní souběžné dotazy. To může vést k vypršení časového limitu přidělení paměti chyba 8645.

Nastavení hodnoty na hodnotu 0 nebo malé hodnoty může bránit dotazům s operátory, které vyžadují paměť pracovního prostoru, například sort a hash, v uživatelem definovaných skupinách úloh. Pokud požadavky na paměť dotazu překročí limit definovaný tímto parametrem, dojde k následujícímu chování:

  • U uživatelem definovaných skupin úloh se server pokusí snížit stupeň paralelismu (DOP) požadavku (dotazu), dokud požadavek na paměť nepřesáhne limitu nebo dokud se doP nerovná 1. Pokud je požadavek na paměť dotazu stále větší než limit, dojde k chybě 8657 a dotaz selže.
  • Pro skupiny úloh internal a default server umožňuje dotazu získat požadovanou paměť.

V obou případech chyba 8645 může dojít, pokud server nemá dostatečnou fyzickou paměť.

REQUEST_MAX_CPU_TIME_SEC = hodnota

Určuje maximální dobu procesoru v sekundách, kterou může požadavek použít. hodnota musí být 0 nebo kladné celé číslo. Výchozí nastavení pro hodnotu je 0, což znamená neomezené.

Ve výchozím nastavení správce prostředků nezabrání tomu, aby žádost pokračovala, pokud dojde k překročení maximálního času. Událost se však vygeneruje. Další informace najdete v tématu Prahová hodnota procesoru překročila třídu událostí.

Počínaje SQL Serverem 2016 (13.x) SP2 a SQL Serverem 2017 (14.x) CU3 a použitím příznaku trasování 2422správce prostředků přeruší požadavek při překročení maximální doby procesoru.

REQUEST_MEMORY_GRANT_TIMEOUT_SEC = hodnota

Určuje maximální dobu v sekundách, po kterou může dotaz čekat na přidělení paměti z paměti pracovního prostoru dotazu. hodnota musí být 0 nebo kladné celé číslo. Výchozí nastavení pro hodnotu , 0, používá interní výpočet založený na nákladech na dotazy k určení maximální doby.

Dotaz nemusí vždy selhat, když dojde k vypršení časového limitu udělení paměti. Dotaz selže jenom v případě, že je spuštěno příliš mnoho souběžných dotazů. V opačném případě může dotaz získat pouze minimální přidělení paměti, což vede ke snížení výkonu dotazů.

MAX_DOP = hodnota

Určuje maximální stupeň paralelismu (MAXDOP) pro paralelní provádění dotazů. Povolený rozsah pro hodnotu je od 0 do 64. Výchozí nastavení pro hodnotu , 0 používá globální nastavení.

Další informace naleznete v tématu MAXDOP.

GROUP_MAX_REQUESTS = hodnota

Určuje maximální počet souběžných požadavků, které se můžou ve skupině úloh spouštět. hodnota musí být 0 nebo kladné celé číslo. Výchozí nastavení pro hodnotu je 0 a umožňuje neomezené požadavky. Po dosažení maximálního počtu souběžných požadavků je možné vytvořit relaci v této skupině, ale umístí se do stavu čekání, dokud počet souběžných požadavků klesne pod zadanou hodnotu.

USING { pool_name | [výchozí] }

Přidruží skupinu úloh k uživatelsky definovanému fondu zdrojů identifikovaným pool_namenebo k fondu zdrojů default. Pokud není zadaný pool_name nebo pokud není zadaný argument USING, je skupina úloh přidružená k integrovanému fondu default.

default je vyhrazené slovo a pokud je uvedeno v USING, musí být uzavřen v závorkách ([]) nebo uvozovkách ("").

Předdefinované fondy zdrojů a skupiny úloh používají všechna malá písmena, například default. Používejte malá písmena default na serverech, které používají kolaci s rozlišováním velkých a malých písmen. Servery bez rozlišování velkých a malých písmen zachází s default, Defaulta DEFAULT se stejnou hodnotou.

Poznámky

ALTER WORKLOAD GROUP je pro skupinu úloh default povolená, ale ne ve skupině internal.

Změny konfigurace skupiny úloh se neprojeví až po provedení ALTER RESOURCE GOVERNOR RECONFIGURE.

Další informace najdete v tématu správce prostředků a skupiny úloh správce prostředků.

MAXDOP

Pro daný dotaz je efektivní MAXDOP určen takto:

  • MAXDOP jako tip dotazu se respektuje, pokud nepřekročí nastavení skupiny úloh MAX_DOP.
  • MAXDOP jako nápovědu k dotazu vždy přepíše konfiguraci max degree of parallelism serveru. Další informace naleznete v tématu Konfigurace serveru: maximální stupeň paralelismu.
  • Skupina úloh MAX_DOP přepíše konfiguraci serveru max degree of parallelism a konfiguraci MAXDOPdatabáze s oborem.

Limit MAXDOP je nastavený na úkol. Nejedná se o požadavek na ani limit dotazu. Během provádění paralelního dotazu může jeden požadavek vytvořit více úloh, které jsou přiřazeny plánovači. Další informace najdete v průvodci architekturou vláken a úloh.

Pokud je dotaz v době kompilace označený jako sériový (MAXDOP = 1), nemůže se spouštět s paralelismu za běhu bez ohledu na nastavení konfigurace skupiny úloh nebo serveru. Po určení MAXDOP dotazu je možné ho snížit pouze kvůli zatížení paměti. Změna konfigurace skupiny úloh nemá vliv na dotazy čekající ve frontě přidělení paměti.

Plány uložené v mezipaměti

Když změníte plán ovlivňující nastavení, jako je například MAX_DOP, nové nastavení se projeví v dříve uložených plánech v mezipaměti až po spuštění DBCC FREEPROCCACHE (<pool_name>), kde <pool_name> je název fondu zdrojů správce zdrojů, který používá aktuální skupina úloh.

  • Pokud se změní MAX_DOP na 1, provádění DBCC FREEPROCCACHE se nevyžaduje, protože paralelní plány se můžou spouštět v sériovém režimu. Takový plán však může být méně efektivní než plán zkompilovaný jako sériový plán.
  • Pokud změníte MAX_DOP z 1 na 0 nebo hodnotu větší než 1, provádění DBCC FREEPROCCACHE se nevyžaduje. Sériové plány se ale nedají spustit paralelně, takže vymazání příslušné mezipaměti umožňuje, aby se nové plány potenciálně zkompilovaly pomocí paralelismu.

Varování

Vymazání plánů uložených v mezipaměti z fondu zdrojů, který je přidružený k více než jedné skupině úloh, ovlivní všechny skupiny úloh pomocí uživatelem definovaného fondu zdrojů identifikovaných <pool_name>.

Vytvoření indexu

Z důvodů výkonu může vytváření indexu používat více pracovního prostoru paměti, než je původně uděleno. Správce prostředků podporuje toto zvláštní zpracování. Počáteční udělení a případné další granty paměti jsou však omezeny nastavením skupiny úloh a fondu zdrojů.

Paměť spotřebovaná k vytvoření nerovnaného indexu v dělené tabulce je úměrná počtu zahrnutých oddílů. Pokud celková požadovaná paměť překročí limit počtu dotazů vynucovaný nastavením skupiny úloh REQUEST_MAX_MEMORY_GRANT_PERCENT, vytvoření indexu může selhat. Vzhledem k tomu, že skupina úloh default umožňuje dotazu překročit limit pro jednotlivé dotazy s minimální požadovanou pamětí, která se má spustit kvůli zpětné kompatibilitě, můžete pomocí default skupiny úloh vytvořit stejný index, pokud má fond prostředků default dostatečnou celkovou paměť.

Dovolení

Vyžaduje oprávnění CONTROL SERVER.

Příklady

Následující příklad ukazuje, jak změnit důležitost požadavků ve výchozí skupině z MEDIUM na LOW.

ALTER WORKLOAD GROUP [default]
WITH (IMPORTANCE = LOW);

ALTER RESOURCE GOVERNOR RECONFIGURE;

Následující příklad ukazuje, jak přesunout skupinu úloh z fondu, který je aktuálně součástí fondu default.

ALTER WORKLOAD GROUP adHoc
USING [default];

ALTER RESOURCE GOVERNOR RECONFIGURE;

* SQL Managed Instance *  

 

SQL Server a spravovaná instance SQL

Změní existující konfiguraci skupiny úloh správce prostředků a volitelně ji přiřadí jinému fondu zdrojů správce prostředků.

Poznámka

Pro službu Azure SQL Managed Instance musíte být v kontextu master databáze, abyste mohli upravit konfiguraci správce prostředků.

Transact-SQL konvence syntaxe.

Syntax

ALTER WORKLOAD GROUP { group_name | [default] }
[ WITH
    ([ IMPORTANCE = { LOW | MEDIUM | HIGH } ]
      [ [ , ] REQUEST_MAX_MEMORY_GRANT_PERCENT = value ]
      [ [ , ] REQUEST_MAX_CPU_TIME_SEC = value ]
      [ [ , ] REQUEST_MEMORY_GRANT_TIMEOUT_SEC = value ]
      [ [ , ] MAX_DOP = value ]
      [ [ , ] GROUP_MAX_REQUESTS = value ] )
]
[ USING { pool_name | [default] } ]
[ ; ]

Argumenty

group_name | [výchozí]

Název existující uživatelem definované skupiny úloh nebo předdefinovaný správce prostředků default skupinu úloh.

default musí být v hranatých závorkách ([]) nebo uvozovkách ("") při použití s ALTER WORKLOAD GROUP, aby nedocházelo ke konfliktu s DEFAULT, což je rezervované slovo systému. Další informace naleznete v tématu Identifikátory databáze.

Předdefinované fondy zdrojů a skupiny úloh používají všechna malá písmena, například default. Používejte malá písmena default na serverech, které používají kolaci s rozlišováním velkých a malých písmen. Servery bez rozlišování velkých a malých písmen zachází s default, Defaulta DEFAULT se stejnou hodnotou.

DŮLEŽITOST = { NÍZKÁ | STŘEDNÍ | HIGH }

Určuje relativní důležitost požadavku ve skupině úloh. Výchozí hodnota je MEDIUM.

IMPORTANCE je místní pro fond zdrojů, který obsahuje skupinu úloh. Skupiny úloh s různou důležitostí ve stejném fondu zdrojů se vzájemně ovlivňují, ale nemají vliv na skupiny úloh v jiných fondech zdrojů.

REQUEST_MAX_MEMORY_GRANT_PERCENT = hodnota

Určuje maximální velikost paměti pracovního prostoru dotazu, kterou může jeden požadavek převzít z fondu. hodnota je procento velikosti fondu zdrojů definované MAX_MEMORY_PERCENT. Výchozí hodnota je 25.

V SQL Serveru 2017 (14.x) a starším je hodnota celé číslo a povolený rozsah je od 1 do 100.

Počínaje SQL Serverem 2019 (15.x) může být hodnota zlomková pomocí datového typu float. Povolený rozsah je od 0 do 100.

Důležitý

Zadaná částka odkazuje pouze na paměť pracovního prostoru dotazu získanou prostřednictvím udělení paměti dotazu.

Nedoporučuje se nastavit hodnotu příliš velká (například větší než 70), protože server nemusí být schopen vyhradit dostatek volné paměti pro ostatní souběžné dotazy. To může vést k vypršení časového limitu přidělení paměti chyba 8645.

Nastavení hodnoty na hodnotu 0 nebo malé hodnoty může bránit dotazům s operátory, které vyžadují paměť pracovního prostoru, například sort a hash, v uživatelem definovaných skupinách úloh. Pokud požadavky na paměť dotazu překročí limit definovaný tímto parametrem, dojde k následujícímu chování:

  • U uživatelem definovaných skupin úloh se server pokusí snížit stupeň paralelismu (DOP) požadavku (dotazu), dokud požadavek na paměť nepřesáhne limitu nebo dokud se doP nerovná 1. Pokud je požadavek na paměť dotazu stále větší než limit, dojde k chybě 8657 a dotaz selže.
  • Pro skupiny úloh internal a default server umožňuje dotazu získat požadovanou paměť.

V obou případech chyba 8645 může dojít, pokud server nemá dostatečnou fyzickou paměť.

REQUEST_MAX_CPU_TIME_SEC = hodnota

Určuje maximální dobu procesoru v sekundách, kterou může požadavek použít. hodnota musí být 0 nebo kladné celé číslo. Výchozí nastavení pro hodnotu je 0, což znamená neomezené.

Ve výchozím nastavení správce prostředků nezabrání tomu, aby žádost pokračovala, pokud dojde k překročení maximálního času. Událost se však vygeneruje. Další informace najdete v tématu Prahová hodnota procesoru překročila třídu událostí.

Počínaje SQL Serverem 2016 (13.x) SP2 a SQL Serverem 2017 (14.x) CU3 a použitím příznaku trasování 2422správce prostředků přeruší požadavek při překročení maximální doby procesoru.

REQUEST_MEMORY_GRANT_TIMEOUT_SEC = hodnota

Určuje maximální dobu v sekundách, po kterou může dotaz čekat na přidělení paměti z paměti pracovního prostoru dotazu. hodnota musí být 0 nebo kladné celé číslo. Výchozí nastavení pro hodnotu , 0, používá interní výpočet založený na nákladech na dotazy k určení maximální doby.

Dotaz nemusí vždy selhat, když dojde k vypršení časového limitu udělení paměti. Dotaz selže jenom v případě, že je spuštěno příliš mnoho souběžných dotazů. V opačném případě může dotaz získat pouze minimální přidělení paměti, což vede ke snížení výkonu dotazů.

MAX_DOP = hodnota

Určuje maximální stupeň paralelismu (MAXDOP) pro paralelní provádění dotazů. Povolený rozsah pro hodnotu je od 0 do 64. Výchozí nastavení pro hodnotu , 0 používá globální nastavení.

Další informace naleznete v tématu MAXDOP.

GROUP_MAX_REQUESTS = hodnota

Určuje maximální počet souběžných požadavků, které se můžou ve skupině úloh spouštět. hodnota musí být 0 nebo kladné celé číslo. Výchozí nastavení pro hodnotu je 0 a umožňuje neomezené požadavky. Po dosažení maximálního počtu souběžných požadavků je možné vytvořit relaci v této skupině, ale umístí se do stavu čekání, dokud počet souběžných požadavků klesne pod zadanou hodnotu.

USING { pool_name | [výchozí] }

Přidruží skupinu úloh k uživatelsky definovanému fondu zdrojů identifikovaným pool_namenebo k fondu zdrojů default. Pokud není zadaný pool_name nebo pokud není zadaný argument USING, je skupina úloh přidružená k integrovanému fondu default.

default je vyhrazené slovo a pokud je uvedeno v USING, musí být uzavřen v závorkách ([]) nebo uvozovkách ("").

Předdefinované fondy zdrojů a skupiny úloh používají všechna malá písmena, například default. Používejte malá písmena default na serverech, které používají kolaci s rozlišováním velkých a malých písmen. Servery bez rozlišování velkých a malých písmen zachází s default, Defaulta DEFAULT se stejnou hodnotou.

Poznámky

ALTER WORKLOAD GROUP je pro skupinu úloh default povolená, ale ne ve skupině internal.

Změny konfigurace skupiny úloh se neprojeví až po provedení ALTER RESOURCE GOVERNOR RECONFIGURE.

Další informace najdete v tématu správce prostředků a skupiny úloh správce prostředků.

MAXDOP

Pro daný dotaz je efektivní MAXDOP určen takto:

  • MAXDOP jako tip dotazu se respektuje, pokud nepřekročí nastavení skupiny úloh MAX_DOP.
  • MAXDOP jako nápovědu k dotazu vždy přepíše konfiguraci max degree of parallelism serveru. Další informace naleznete v tématu Konfigurace serveru: maximální stupeň paralelismu.
  • Skupina úloh MAX_DOP přepíše konfiguraci serveru max degree of parallelism a konfiguraci MAXDOPdatabáze s oborem.

Limit MAXDOP je nastavený na úkol. Nejedná se o požadavek na ani limit dotazu. Během provádění paralelního dotazu může jeden požadavek vytvořit více úloh, které jsou přiřazeny plánovači. Další informace najdete v průvodci architekturou vláken a úloh.

Pokud je dotaz v době kompilace označený jako sériový (MAXDOP = 1), nemůže se spouštět s paralelismu za běhu bez ohledu na nastavení konfigurace skupiny úloh nebo serveru. Po určení MAXDOP dotazu je možné ho snížit pouze kvůli zatížení paměti. Změna konfigurace skupiny úloh nemá vliv na dotazy čekající ve frontě přidělení paměti.

Plány uložené v mezipaměti

Když změníte plán ovlivňující nastavení, jako je například MAX_DOP, nové nastavení se projeví v dříve uložených plánech v mezipaměti až po spuštění DBCC FREEPROCCACHE (<pool_name>), kde <pool_name> je název fondu zdrojů správce zdrojů, který používá aktuální skupina úloh.

  • Pokud se změní MAX_DOP na 1, provádění DBCC FREEPROCCACHE se nevyžaduje, protože paralelní plány se můžou spouštět v sériovém režimu. Takový plán však může být méně efektivní než plán zkompilovaný jako sériový plán.
  • Pokud změníte MAX_DOP z 1 na 0 nebo hodnotu větší než 1, provádění DBCC FREEPROCCACHE se nevyžaduje. Sériové plány se ale nedají spustit paralelně, takže vymazání příslušné mezipaměti umožňuje, aby se nové plány potenciálně zkompilovaly pomocí paralelismu.

Varování

Vymazání plánů uložených v mezipaměti z fondu zdrojů, který je přidružený k více než jedné skupině úloh, ovlivní všechny skupiny úloh pomocí uživatelem definovaného fondu zdrojů identifikovaných <pool_name>.

Vytvoření indexu

Z důvodů výkonu může vytváření indexu používat více pracovního prostoru paměti, než je původně uděleno. Správce prostředků podporuje toto zvláštní zpracování. Počáteční udělení a případné další granty paměti jsou však omezeny nastavením skupiny úloh a fondu zdrojů.

Paměť spotřebovaná k vytvoření nerovnaného indexu v dělené tabulce je úměrná počtu zahrnutých oddílů. Pokud celková požadovaná paměť překročí limit počtu dotazů vynucovaný nastavením skupiny úloh REQUEST_MAX_MEMORY_GRANT_PERCENT, vytvoření indexu může selhat. Vzhledem k tomu, že skupina úloh default umožňuje dotazu překročit limit pro jednotlivé dotazy s minimální požadovanou pamětí, která se má spustit kvůli zpětné kompatibilitě, můžete pomocí default skupiny úloh vytvořit stejný index, pokud má fond prostředků default dostatečnou celkovou paměť.

Dovolení

Vyžaduje oprávnění CONTROL SERVER.

Příklady

Následující příklad ukazuje, jak změnit důležitost požadavků ve výchozí skupině z MEDIUM na LOW.

ALTER WORKLOAD GROUP [default]
WITH (IMPORTANCE = LOW);

ALTER RESOURCE GOVERNOR RECONFIGURE;

Následující příklad ukazuje, jak přesunout skupinu úloh z fondu, který je aktuálně součástí fondu default.

ALTER WORKLOAD GROUP adHoc
USING [default];

ALTER RESOURCE GOVERNOR RECONFIGURE;

spravované instance SQL

* Azure Synapse
Analýza *
 

 

Azure Synapse Analytics

Změní existující skupinu úloh.

Další podrobnosti o tom, jak se ALTER WORKLOAD GROUP chová v systému se spuštěnými a zařazenými požadavky do fronty, najdete v části ALTER WORKLOAD GROUP chování níže.

Omezení pro CREATE WORKLOAD GROUP platí také pro ALTER WORKLOAD GROUP. Před úpravou parametrů sys.workload_management_workload_groups dotazu, aby se zajistilo, že hodnoty jsou v přijatelných rozsazích.

Syntax

ALTER WORKLOAD GROUP group_name
WITH
([ MIN_PERCENTAGE_RESOURCE = value ]
  [ [ , ] CAP_PERCENTAGE_RESOURCE = value ]
  [ [ , ] REQUEST_MIN_RESOURCE_GRANT_PERCENT = value ]
  [ [ , ] REQUEST_MAX_RESOURCE_GRANT_PERCENT = value ]
  [ [ , ] IMPORTANCE = { LOW | BELOW_NORMAL | NORMAL | ABOVE_NORMAL | HIGH }]
  [ [ , ] QUERY_EXECUTION_TIMEOUT_SEC = value ] )
  [ ; ]

Argumenty

group_name

Je název existující uživatelem definované skupiny úloh, kterou se mění. group_name není možné měnit.

MIN_PERCENTAGE_RESOURCE = hodnota

hodnota je celé číslo v rozsahu od 0 do 100. Při změně MIN_PERCENTAGE_RESOURCE nesmí součet MIN_PERCENTAGE_RESOURCE napříč všemi skupinami úloh překročit 100. Změna MIN_PERCENTAGE_RESOURCE vyžaduje, aby se všechny spuštěné dotazy dokončily ve skupině úloh před dokončením příkazu. Další informace najdete v části CHOVÁNÍ ALTER WORKLOAD GROUP v tomto článku.

CAP_PERCENTAGE_RESOURCE = hodnota

hodnota je celé číslo v rozsahu od 1 do 100. Hodnota CAP_PERCENTAGE_RESOURCE musí být větší než MIN_PERCENTAGE_RESOURCE. Změna CAP_PERCENTAGE_RESOURCE vyžaduje, aby se všechny spuštěné dotazy dokončily ve skupině úloh před dokončením příkazu. Další informace najdete v části CHOVÁNÍ ALTER WORKLOAD GROUP v tomto článku.

REQUEST_MIN_RESOURCE_GRANT_PERCENT = hodnota

hodnota je desetinná čárka s rozsahem od 0,75 do 100,00. Hodnota REQUEST_MIN_RESOURCE_GRANT_PERCENT musí být faktorem MIN_PERCENTAGE_RESOURCE a musí být menší než CAP_PERCENTAGE_RESOURCE.

REQUEST_MAX_RESOURCE_GRANT_PERCENT = hodnota

hodnota je desítková a musí být větší než REQUEST_MIN_RESOURCE_GRANT_PERCENT.

DŮLEŽITOST = { NÍZKÁ | BELOW_NORMAL | NORMÁLNÍ | ABOVE_NORMAL | HIGH }

Změní výchozí důležitost požadavku pro skupinu úloh.

QUERY_EXECUTION_TIMEOUT_SEC = hodnota

Změní maximální dobu v sekundách, po kterou se dotaz může spustit před zrušením. Hodnota musí být 0 nebo kladné celé číslo. Výchozí nastavení hodnoty je 0, což znamená neomezený počet.

Dovolení

Vyžaduje oprávnění CONTROL DATABASE.

Příklad

Následující příklad zkontroluje hodnoty v zobrazení katalogu pro skupinu úloh s názvem wgDataLoadsa změní hodnoty.

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 )

ALTER WORKLOAD GROUP behavior

V každém okamžiku v systému existují tři typy požadavků:

  • Požadavky, které ještě nebyly klasifikovány.
  • Požadavky klasifikované a čekající na zámky objektů nebo systémové prostředky.
  • Požadavky klasifikované a spuštěné.

Na základě vlastností změněné skupiny úloh se načasování, kdy se nastavení projeví, se bude lišit.

Důležitost nebo query_execution_timeout

V případě důležitosti a query_execution_timeout vlastností vyzvednou požadavky, které nejsou klasifikovány, nové hodnoty konfigurace. Čekající a spuštěné požadavky se spouštějí se starou konfigurací. Požadavek ALTER WORKLOAD GROUP se spustí okamžitě bez ohledu na to, jestli jsou ve skupině úloh spuštěné dotazy.

REQUEST_MIN_RESOURCE_GRANT_PERCENT nebo REQUEST_MAX_RESOURCE_GRANT_PERCENT

U REQUEST_MIN_RESOURCE_GRANT_PERCENT a REQUEST_MAX_RESOURCE_GRANT_PERCENT se spouští požadavky se starou konfigurací. Čekající požadavky a požadavky, které nejsou klasifikovány, zachytávají nové hodnoty konfigurace. Požadavek ALTER WORKLOAD GROUP se spustí okamžitě bez ohledu na to, jestli jsou ve skupině úloh spuštěné dotazy.

MIN_PERCENTAGE_RESOURCE nebo CAP_PERCENTAGE_RESOURCE

U MIN_PERCENTAGE_RESOURCE a CAP_PERCENTAGE_RESOURCE se spouští požadavky se starou konfigurací. Čekající požadavky a požadavky, které nejsou klasifikovány, zachytávají nové hodnoty konfigurace.

Změna MIN_PERCENTAGE_RESOURCE a CAP_PERCENTAGE_RESOURCE vyžaduje vyprázdnění spuštěných požadavků ve skupině úloh, která se mění. Při poklesu MIN_PERCENTAGE_RESOURCE se uvolněné prostředky vrátí do fondu sdílených složek, což umožňuje využít požadavky z jiných skupin úloh. Naopak zvýšení MIN_PERCENTAGE_RESOURCE bude čekat na dokončení požadavků, které využívají pouze potřebné prostředky ze sdíleného fondu. Operace ALTER WORKLOAD GROUP bude mít upřednostněný přístup ke sdíleným prostředkům oproti jiným požadavkům, které čekají na spuštění ve sdíleném fondu. Pokud součet MIN_PERCENTAGE_RESOURCE překročí 100%, požadavek ALTER WORKLOAD GROUP okamžitě selže.

Chování uzamčení

Změna skupiny úloh vyžaduje globální zámek napříč všemi skupinami úloh. Požadavek na změnu skupiny úloh by se za již odeslaným žádostem o vytvoření nebo vyřazení žádostí o skupinu úloh zařadil do fronty. Pokud je najednou odeslána dávka příkazů alter, jsou zpracovány v pořadí, ve kterém jsou odeslány.

Viz také