Převod tříd prostředků na skupiny úloh

Skupiny úloh poskytují mechanismus izolace a zahrnutí systémových prostředků. Skupiny úloh navíc umožňují nastavit pravidla spouštění pro požadavky spuštěné v nich. Pravidlo provádění časového limitu dotazu umožňuje zrušení runaway dotazů bez zásahu uživatele. Tento článek vysvětluje, jak použít existující třídu prostředků a vytvořit skupinu úloh s podobnou konfigurací. Kromě toho se přidá volitelné pravidlo časového limitu dotazu.

Principy stávající konfigurace třídy prostředků

Skupiny úloh vyžadují parametr, REQUEST_MIN_RESOURCE_GRANT_PERCENT který určuje procento celkových systémových prostředků přidělených na požadavek. Přidělení prostředků se provádí pro třídy prostředků přidělením slotů souběžnosti. Chcete-li určit hodnotu, pro REQUEST_MIN_RESOURCE_GRANT_PERCENTkterou se má zadat, použijte sys.dm_workload_management_workload_groups_stats zobrazení dynamické správy. Následující dotaz například vrátí hodnotu, kterou lze pro REQUEST_MIN_RESOURCE_GRANT_PERCENT parametr použít k vytvoření skupiny úloh podobné staticrc40.

SELECT Request_min_resource_grant_percent = Effective_request_min_resource_grant_percent
  FROM sys.dm_workload_management_workload_groups_stats
  WHERE name = 'staticrc40'

Poznámka:

Skupiny úloh fungují na základě procenta celkových systémových prostředků.

Vzhledem k tomu, že skupiny úloh fungují na základě procenta celkových systémových prostředků při vertikálním navýšení nebo snížení kapacity, procento prostředků přidělených statickým třídám prostředků vzhledem k celkové změně systémových prostředků. Například staticrc40 na DW1000c přidělí 19,2 % celkových systémových prostředků. V DW2000c je přiděleno 9,6 %. Tento model je podobný, pokud chcete vertikálně navýšit kapacitu pro souběžnost a přidělení dalších prostředků na požadavek.

Vytvoření skupiny úloh

Pomocí známé REQUEST_MIN_RESOURCE_GRANT_PERCENTsyntaxe CREATE WORKLOAD GROUP můžete vytvořit skupinu úloh. Volitelně můžete zadat MIN_PERCENTAGE_RESOURCE , že je větší než nula, abyste mohli izolovat prostředky pro skupinu úloh. Volitelně můžete také zadat CAP_PERCENTAGE_RESOURCE méně než 100, abyste omezili množství prostředků, které může skupina úloh využívat.

Použití mediumrc jako základu pro příklad nastaví následující kód MIN_PERCENTAGE_RESOURCE tak, aby vyhradit 10 % systémových prostředků a zaručit, že wgDataLoads jeden dotaz bude moct spustit celou dobu. Kromě toho CAP_PERCENTAGE_RESOURCE je nastavená na 40 % a omezuje tuto skupinu úloh na čtyři souběžné požadavky. Nastavením parametru QUERY_EXECUTION_TIMEOUT_SEC na 3600 se všechny dotazy, které běží déle než 1 hodinu, automaticky zruší.

CREATE WORKLOAD GROUP wgDataLoads WITH  
( REQUEST_MIN_RESOURCE_GRANT_PERCENT = 10
 ,MIN_PERCENTAGE_RESOURCE = 10
 ,CAP_PERCENTAGE_RESOURCE = 40
 ,QUERY_EXECUTION_TIMEOUT_SEC = 3600)

Vytvoření klasifikátoru

Dříve bylo mapování dotazů na třídy prostředků provedeno s sp_addrolemember. Pokud chcete dosáhnout stejné funkčnosti a namapovat požadavky na skupiny úloh, použijte syntaxi CREATE WORKLOAD CLASSIFIER . Použití sp_addrolemember vám umožnilo namapovat prostředky pouze na požadavek na základě přihlášení. Klasifikátor poskytuje další možnosti kromě přihlášení, například: - popisek - relace - čas Následující příklad přiřazuje dotazy z AdfLogin přihlášení, které mají také OPTION LABEL nastavený na factloads skupinu wgDataLoads úloh vytvořenou výše.

CREATE WORKLOAD CLASSIFIER wcDataLoads WITH  
( WORKLOAD_GROUP = 'wgDataLoads'
 ,MEMBERNAME = 'AdfLogin'
 ,WLM_LABEL = 'factloads')

Testování pomocí ukázkového dotazu

Níže je ukázkový dotaz a dotaz DMV, který zajistí správnou konfiguraci skupiny úloh a klasifikátoru.

SELECT SUSER_SNAME() --should be 'AdfLogin'

--change to a valid table AdfLogin has access to
SELECT TOP 10 *
  FROM nation
  OPTION (label='factloads')

SELECT request_id, [label], classifier_name, group_name, command
  FROM sys.dm_pdw_exec_requests
  WHERE [label] = 'factloads'
  ORDER BY submit_time DESC

Další kroky