Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Termék kiválasztása
A következő sorban válassza ki a kívánt terméknevet, és csak az adott termék adatai jelenjenek meg.
* SQL Server *
SQL Server és felügyelt SQL-példány
Létrehoz egy erőforrás-kormányzó számítási feladatcsoportot, és hozzárendeli a számítási feladatcsoportot egy erőforrás-kormányzó erőforráskészletéhez.
Az erőforrás-vezérlő nem érhető el az SQL Server minden kiadásában. Az SQL Server kiadásai által támogatott funkciók listáját az SQL Server 2022
Jegyzet
A felügyelt Azure SQL-példány erőforrás-vezérlő konfigurációjának módosításához az elsődleges replikán lévő adatbázis környezetében master kell lennie.
Transact-SQL szintaxis konvenciói.
Szintaxis
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 ]
[ [ , ] GROUP_MAX_TEMPDB_DATA_MB = value ]
[ [ , ] GROUP_MAX_TEMPDB_DATA_PERCENT = value ] )
]
[ USING {
[ pool_name | [default] ]
[ [ , ] EXTERNAL external_pool_name | [ default ] ]
} ]
[ ; ]
Érvek
group_name
A számítási feladatcsoport felhasználó által definiált neve. group_name alfanumerikus, legfeljebb 128 karakter hosszúságú lehet, egyedinek kell lennie az adatbázismotor egy példányán belül, és meg kell felelnie adatbázis-azonosítókszabályainak.
FONTOSSÁG = { LOW | KÖZEPES | MAGAS }
A kérelem relatív fontosságát határozza meg a számítási feladatcsoportban. Az alapértelmezett érték a MEDIUM.
IMPORTANCE a számítási feladatcsoportot tartalmazó erőforráskészlethez tartozik. Az ugyanazon erőforráskészleten belül eltérő fontosságú számítási feladatok csoportjai hatással vannak egymásra, de nem érintik a többi erőforráskészlet számítási feladatainak csoportjait.
REQUEST_MAX_MEMORY_GRANT_PERCENT = érték
Megadja a lekérdezési munkaterület memóriájának maximális mennyiségét, amelyet egyetlen kérés vehet át a készletből.
érték a MAX_MEMORY_PERCENTáltal meghatározott erőforráskészlet-méret százalékos aránya. Az alapértelmezett érték 25.
Az SQL Server 2017 -ben (14.x) és régebbi verzióiban érték egész szám, az engedélyezett tartomány pedig 1 és 100 között lehet.
Az SQL Server 2019 -től kezdve (15.x) az érték a float adattípus használatával tört lehet. Az engedélyezett tartomány 0 és 100 között lehet.
Fontos
A megadott mennyiség csak a lekérdezési munkaterület memóriájának lekérdezési memória-vissza nem adása révén kapott memóriára vonatkozik.
Nem ajánlott túl nagy
Ha értéket 0 értékre vagy egy kis értékre állítja, azzal megakadályozhatja, hogy a munkaterületi memóriát igénylő operátorokkal (például sort és hash) futó lekérdezések a felhasználó által meghatározott számítási feladatok csoportjaiban fussanak. Ha a lekérdezés memóriakövetelményei túllépik a paraméter által meghatározott korlátot, a következő viselkedés következik be:
- A felhasználó által definiált számítási feladatok csoportjai esetében a kiszolgáló megpróbálja csökkenteni a kérés (lekérdezés) párhuzamossági fokát addig, amíg a memóriaigény nem éri el a korlátot, vagy amíg a DOP értéke nem 1. Ha a lekérdezés memóriakövetelménye továbbra is meghaladja a korlátot, a 8657-ös hiba lép fel, és a lekérdezés meghiúsul.
- A
internalésdefaultszámítási feladatcsoportok esetében a kiszolgáló engedélyezi a lekérdezés számára a szükséges memória beszerzését.
Mindkét esetben 8645-ös hiba fordulhat elő, ha a kiszolgáló nem rendelkezik elegendő fizikai memóriával.
REQUEST_MAX_CPU_TIME_SEC = érték
Megadja, hogy a kötegkérelmek maximálisan mennyi processzoridőt használhatnak másodpercben. értéknek 0-nak vagy pozitív egész számnak kell lennie. Az érték alapértelmezett beállítása 0, ami korlátlan értéket jelent.
A maximális cpu-idő túllépésekor a rendszer létrehozza a cpu_threshold_exceeded kiterjesztett eseményt és egy nyomkövetési eseményt. További információ: A cpu küszöbértéke túllépte az eseményosztályt.
A felügyelt Azure SQL-példányban a maximális cpu-idő túllépésekor az erőforrás-vezérlő 10961-os hibával megszakítja a kérést.
Az SQL Serverben az erőforrás-vezérlő alapértelmezés szerint nem szakítja meg a kérést. Az SQL Server 2016 (13.x) SP2 és az SQL Server 2017 (14.x) CU3 verziótól kezdve azonban az erőforrás-vezérlő megszakít egy 10961-s hibát tartalmazó kérést, ha 2422- nyomkövetési jelző engedélyezve van, és túllépi a maximális processzoridőt.
Jegyzet
A processzoridő-használat észlelési időköze öt másodperc. Esemény akkor jön létre, ha egy lekérdezés legalább öt másodperccel túllépi a megadott korlátot. Ha azonban egy lekérdezés kevesebb mint öt másodperccel túllépi a megadott küszöbértéket, az észlelése a lekérdezés időzítésétől és a legutóbbi észlelés időpontjától függően kimaradhat.
REQUEST_MEMORY_GRANT_TIMEOUT_SEC = érték
Másodpercekben megadott maximális időt adja meg, amíg a lekérdezések a lekérdezés munkaterületének memóriájából memóriakiadást biztosítanak. értéknek 0-nak vagy pozitív egész számnak kell lennie. A érték alapértelmezett beállítása, 0, a lekérdezési költség alapján egy belső számítást használ a maximális idő meghatározásához.
A lekérdezések nem mindig hiúsulnak meg, ha a memóriahasználati időt túllépik. A lekérdezések csak akkor sikertelenek, ha túl sok egyidejű lekérdezés fut. Ellenkező esetben előfordulhat, hogy a lekérdezés csak a minimális memóriakiadást kapja, ami csökkentett lekérdezési teljesítményt eredményez.
MAX_DOP = érték
A párhuzamos lekérdezések végrehajtásának maximális párhuzamossági fokát (MAXDOP) adja meg. A érték megengedett tartománya 0 és 64 között lehet. A érték alapértelmezett beállítása, 0, a globális beállítást használja.
További információ: MAXDOP.
GROUP_MAX_REQUESTS = érték
Megadja az egyidejű kérelmek maximális számát, amelyek a számítási feladatcsoportban végrehajthatók. értéknek 0-nak vagy pozitív egész számnak kell lennie. A érték alapértelmezett beállítása 0, és korlátlan kéréseket tesz lehetővé. A maximális egyidejű kérések elérésekor létrehozhat egy munkamenetet az adott csoportban, de várakozási állapotba kerül, amíg az egyidejű kérések száma a megadott érték alá nem csökken.
GROUP_MAX_TEMPDB_DATA_MB = érték
Megadja, hogy egy számítási feladatcsoport mekkora területet használhat fel az tempdb adatfájlokban megabájtban.
az értéknek 0-nak, pozitív számnak vagy NULLNAK kell lennie. A törtértékek megengedettek.
Ha az érték 0, tempdb a tevékenységprofil-csoportban lévő munkamenetek által kiosztott terület nem engedélyezett. Ha egy érték nincs beállítva, az erőforrás-vezérlő nem korlátozza tempdb a számítási feladatcsoport által a területfelhasználást.
A korlát a számítási feladatcsoport összes munkamenete tempdb által felhasznált teljes területre vonatkozik.
Ha egy számítási feladatcsoportban futó kérés megkísérli növelni tempdb az adatterület-használatot a számítási feladatcsoport által GROUP_MAX_TEMPDB_DATA_MBbeállított korlát felett, az erőforrás-kormányzó 1138-ás hibával megszakítja a kérést. További információ: Tempdb space resource governance.
GROUP_MAX_TEMPDB_DATA_PERCENT = érték
Megadja, hogy egy számítási feladatcsoport mekkora területet használhat fel az tempdb adatfájlokban a maximális tempdb méret százalékában. A maximális tempdb méret definícióját a Százalékos korlát konfigurációja című témakörben talál.
az értéknek 0 és 100 közötti tartományban kell lennie, vagyis NULL. A törtértékek megengedettek.
Ha az érték 0, tempdb a tevékenységprofil-csoportban lévő munkamenetek által kiosztott terület nem engedélyezett. Ha egy érték nincs beállítva, az erőforrás-vezérlő nem korlátozza tempdb a számítási feladatcsoport által a területfelhasználást. Ha GROUP_MAX_TEMPDB_DATA_MB be van állítva, vagy ha tempdb a maximális méret nincs meghatározva, GROUP_MAX_TEMPDB_DATA_PERCENT nincs hatása.
A korlát a számítási feladatcsoport összes munkamenete tempdb által felhasznált teljes területre vonatkozik.
Ha egy számítási feladatcsoportban futó kérés megkísérli növelni tempdb az adatterület-használatot a számítási feladatcsoport által GROUP_MAX_TEMPDB_DATA_PERCENTbeállított korlát felett, az erőforrás-kormányzó 1138-ás hibával megszakítja a kérést. További információ: Tempdb space resource governance.
USING { pool_name | [alapértelmezett] }
A számítási feladatcsoportot a pool_nameáltal azonosított felhasználó által definiált erőforráskészlethez vagy a default erőforráskészlethez társítja. Ha nincs megadva pool_name, vagy ha a USING argumentum nincs megadva, a számítási feladatcsoport a beépített default készlethez van társítva.
default fenntartott szó, és ha az USINGvan megadva, szögletes zárójelek ([]) vagy idézőjelek ("") közé kell tenni.
A beépített erőforráskészletek és számítási feladatok minden kisbetűs nevet használnak, például default. Használja a kisbetűs default a kis- és nagybetűk megkülönböztetésével rendelkező kiszolgálókon. A kis- és nagybetűket nem érzékelyítő rendezéssel rendelkező kiszolgálók default, Defaultés DEFAULT azonos értékként kezelik.
KÜLSŐ external_pool_name | [ alapértelmezett ]
Az: SQL Server 2016 (13.x) és újabb verziókra vonatkozik.
A számítási feladatcsoport megadhat egy külső erőforráskészletet. Definiálhat egy számítási feladatcsoportot, és két készlethez társíthatja:
- Erőforráskészlet az adatbázismotor számítási feladataihoz.
- Külső erőforráskészlet külső folyamatokhoz. További információ: sp_execute_external_script.
Megjegyzések
További információ: Erőforrás-kormányzó és Erőforrás-kormányzó számítási feladatcsoport.
MAXDOP
Egy adott lekérdezés esetében a tényleges MAXDOP az alábbiak szerint határozzuk meg:
-
MAXDOPlekérdezési tipp csak akkor érvényes, ha nem lépi túl a számítási feladatcsoportMAX_DOPbeállítását. -
MAXDOPlekérdezési tippként mindig felülbírálja amax degree of parallelismkiszolgáló konfigurációját. További információ: kiszolgálókonfiguráció: a párhuzamosság maximális foka. - A számítási feladatcsoport
MAX_DOPfelülbírálja amax degree of parallelismkiszolgáló konfigurációját és aMAXDOPadatbázis-hatókörű konfigurációs.
A MAXDOP korlát tevékenységenkéntvan beállítva. Ez nem kérésenként vagy lekérdezési korlátonként. Egy párhuzamos lekérdezés végrehajtása során egyetlen kérés több feladatot is létrehozhat, amelyek egy ütemezőhözvannak hozzárendelve. További információ: Szál és feladatarchitektúra útmutató.
Ha egy lekérdezés fordításkor sorosként van megjelölve (MAXDOP = 1), a számítási feladatcsoporttól vagy a kiszolgáló konfigurációs beállításától függetlenül nem futtatható párhuzamossággal. A lekérdezés MAXDOP meghatározása után csak memóriaterhelés miatt lehet csökkenteni. A számítási feladatcsoport újrakonfigurálása nem befolyásolja a memória-engedélyezési várólistában várakozó lekérdezéseket.
Index létrehozása
Teljesítménybeli okokból az index létrehozása az eredetileg megadottnál több memória-munkaterületet használhat. Az erőforrás-kormányzó támogatja ezt a speciális kezelést. A kezdeti és a további memóriahasználati engedélyeket azonban a számítási feladatcsoport és az erőforráskészlet beállításai korlátozzák.
A particionált táblákon nem számított index létrehozásához felhasznált memória arányos az érintett partíciók számával. Ha a teljes szükséges memória meghaladja a REQUEST_MAX_MEMORY_GRANT_PERCENT számítási feladatcsoport-beállítás által kikényszerített lekérdezésenkénti korlátot, előfordulhat, hogy az index létrehozása meghiúsul. Mivel a default számítási feladatcsoport lehetővé teszi, hogy a lekérdezések túlléphessék a lekérdezésenkénti korlátot, és a minimálisan szükséges memória a visszamenőleges kompatibilitáshoz kezdődjenek, előfordulhat, hogy a default számítási feladatcsoport használatával is létrehozhatja ugyanazt az indexet, ha a default erőforráskészlet elegendő teljes memóriával rendelkezik.
Engedélyek
A CONTROL SERVER engedélyre van szükség.
Példák
Létrehoz egy newReports nevű számítási feladatcsoportot a default erőforráskészletben, és korlátozza a maximális memóriahasználatot, a kérések maximális processzoridejének és MAXDOP.
CREATE WORKLOAD GROUP newReports
WITH (
REQUEST_MAX_MEMORY_GRANT_PERCENT = 2.5,
REQUEST_MAX_CPU_TIME_SEC = 100,
MAX_DOP = 4
)
USING [default];
Kapcsolódó tartalom
- oktatóanyag: Az erőforrás-vezérlő konfigurációs példái és ajánlott eljárásai
- erőforrás-kormányzó
- Erőforrás-vezérlő számítási feladatcsoportjának
- Számítási feladatcsoport létrehozása
- ALTER SZÁMÍTÁSI FELADATCSOPORT (Transact-SQL)
- DROP WORKLOAD GROUP (Transact-SQL)
- ERŐFORRÁSKÉSZLET LÉTREHOZÁSA (Transact-SQL)
- ALTER RESOURCE POOL (Transact-SQL)
- DROP RESOURCE POOL (Transact-SQL)
- ALTER RESOURCE GOVERNOR (Transact-SQL)
- sys.resource_governor_workload_groups
- sys.dm_resource_governor_workload_groups
* felügyelt SQL-példány *
SQL Server és felügyelt SQL-példány
Létrehoz egy erőforrás-kormányzó számítási feladatcsoportot, és hozzárendeli a számítási feladatcsoportot egy erőforrás-kormányzó erőforráskészletéhez.
Az erőforrás-vezérlő nem érhető el az SQL Server minden kiadásában. Az SQL Server kiadásai által támogatott funkciók listáját az SQL Server 2022
Jegyzet
A felügyelt Azure SQL-példány erőforrás-vezérlő konfigurációjának módosításához az elsődleges replikán lévő adatbázis környezetében master kell lennie.
Transact-SQL szintaxis konvenciói.
Szintaxis
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 ]
[ [ , ] GROUP_MAX_TEMPDB_DATA_MB = value ]
[ [ , ] GROUP_MAX_TEMPDB_DATA_PERCENT = value ] )
]
[ USING {
[ pool_name | [default] ]
[ [ , ] EXTERNAL external_pool_name | [ default ] ]
} ]
[ ; ]
Érvek
group_name
A számítási feladatcsoport felhasználó által definiált neve. group_name alfanumerikus, legfeljebb 128 karakter hosszúságú lehet, egyedinek kell lennie az adatbázismotor egy példányán belül, és meg kell felelnie adatbázis-azonosítókszabályainak.
FONTOSSÁG = { LOW | KÖZEPES | MAGAS }
A kérelem relatív fontosságát határozza meg a számítási feladatcsoportban. Az alapértelmezett érték a MEDIUM.
IMPORTANCE a számítási feladatcsoportot tartalmazó erőforráskészlethez tartozik. Az ugyanazon erőforráskészleten belül eltérő fontosságú számítási feladatok csoportjai hatással vannak egymásra, de nem érintik a többi erőforráskészlet számítási feladatainak csoportjait.
REQUEST_MAX_MEMORY_GRANT_PERCENT = érték
Megadja a lekérdezési munkaterület memóriájának maximális mennyiségét, amelyet egyetlen kérés vehet át a készletből.
érték a MAX_MEMORY_PERCENTáltal meghatározott erőforráskészlet-méret százalékos aránya. Az alapértelmezett érték 25.
Az SQL Server 2017 -ben (14.x) és régebbi verzióiban érték egész szám, az engedélyezett tartomány pedig 1 és 100 között lehet.
Az SQL Server 2019 -től kezdve (15.x) az érték a float adattípus használatával tört lehet. Az engedélyezett tartomány 0 és 100 között lehet.
Fontos
A megadott mennyiség csak a lekérdezési munkaterület memóriájának lekérdezési memória-vissza nem adása révén kapott memóriára vonatkozik.
Nem ajánlott túl nagy
Ha értéket 0 értékre vagy egy kis értékre állítja, azzal megakadályozhatja, hogy a munkaterületi memóriát igénylő operátorokkal (például sort és hash) futó lekérdezések a felhasználó által meghatározott számítási feladatok csoportjaiban fussanak. Ha a lekérdezés memóriakövetelményei túllépik a paraméter által meghatározott korlátot, a következő viselkedés következik be:
- A felhasználó által definiált számítási feladatok csoportjai esetében a kiszolgáló megpróbálja csökkenteni a kérés (lekérdezés) párhuzamossági fokát addig, amíg a memóriaigény nem éri el a korlátot, vagy amíg a DOP értéke nem 1. Ha a lekérdezés memóriakövetelménye továbbra is meghaladja a korlátot, a 8657-ös hiba lép fel, és a lekérdezés meghiúsul.
- A
internalésdefaultszámítási feladatcsoportok esetében a kiszolgáló engedélyezi a lekérdezés számára a szükséges memória beszerzését.
Mindkét esetben 8645-ös hiba fordulhat elő, ha a kiszolgáló nem rendelkezik elegendő fizikai memóriával.
REQUEST_MAX_CPU_TIME_SEC = érték
Megadja, hogy a kötegkérelmek maximálisan mennyi processzoridőt használhatnak másodpercben. értéknek 0-nak vagy pozitív egész számnak kell lennie. Az érték alapértelmezett beállítása 0, ami korlátlan értéket jelent.
A maximális cpu-idő túllépésekor a rendszer létrehozza a cpu_threshold_exceeded kiterjesztett eseményt és egy nyomkövetési eseményt. További információ: A cpu küszöbértéke túllépte az eseményosztályt.
A felügyelt Azure SQL-példányban a maximális cpu-idő túllépésekor az erőforrás-vezérlő 10961-os hibával megszakítja a kérést.
Az SQL Serverben az erőforrás-vezérlő alapértelmezés szerint nem szakítja meg a kérést. Az SQL Server 2016 (13.x) SP2 és az SQL Server 2017 (14.x) CU3 verziótól kezdve azonban az erőforrás-vezérlő megszakít egy 10961-s hibát tartalmazó kérést, ha 2422- nyomkövetési jelző engedélyezve van, és túllépi a maximális processzoridőt.
Jegyzet
A processzoridő-használat észlelési időköze öt másodperc. Esemény akkor jön létre, ha egy lekérdezés legalább öt másodperccel túllépi a megadott korlátot. Ha azonban egy lekérdezés kevesebb mint öt másodperccel túllépi a megadott küszöbértéket, az észlelése a lekérdezés időzítésétől és a legutóbbi észlelés időpontjától függően kimaradhat.
REQUEST_MEMORY_GRANT_TIMEOUT_SEC = érték
Másodpercekben megadott maximális időt adja meg, amíg a lekérdezések a lekérdezés munkaterületének memóriájából memóriakiadást biztosítanak. értéknek 0-nak vagy pozitív egész számnak kell lennie. A érték alapértelmezett beállítása, 0, a lekérdezési költség alapján egy belső számítást használ a maximális idő meghatározásához.
A lekérdezések nem mindig hiúsulnak meg, ha a memóriahasználati időt túllépik. A lekérdezések csak akkor sikertelenek, ha túl sok egyidejű lekérdezés fut. Ellenkező esetben előfordulhat, hogy a lekérdezés csak a minimális memóriakiadást kapja, ami csökkentett lekérdezési teljesítményt eredményez.
MAX_DOP = érték
A párhuzamos lekérdezések végrehajtásának maximális párhuzamossági fokát (MAXDOP) adja meg. A érték megengedett tartománya 0 és 64 között lehet. A érték alapértelmezett beállítása, 0, a globális beállítást használja.
További információ: MAXDOP.
GROUP_MAX_REQUESTS = érték
Megadja az egyidejű kérelmek maximális számát, amelyek a számítási feladatcsoportban végrehajthatók. értéknek 0-nak vagy pozitív egész számnak kell lennie. A érték alapértelmezett beállítása 0, és korlátlan kéréseket tesz lehetővé. A maximális egyidejű kérések elérésekor létrehozhat egy munkamenetet az adott csoportban, de várakozási állapotba kerül, amíg az egyidejű kérések száma a megadott érték alá nem csökken.
GROUP_MAX_TEMPDB_DATA_MB = érték
Megadja, hogy egy számítási feladatcsoport mekkora területet használhat fel az tempdb adatfájlokban megabájtban.
az értéknek 0-nak, pozitív számnak vagy NULLNAK kell lennie. A törtértékek megengedettek.
Ha az érték 0, tempdb a tevékenységprofil-csoportban lévő munkamenetek által kiosztott terület nem engedélyezett. Ha egy érték nincs beállítva, az erőforrás-vezérlő nem korlátozza tempdb a számítási feladatcsoport által a területfelhasználást.
A korlát a számítási feladatcsoport összes munkamenete tempdb által felhasznált teljes területre vonatkozik.
Ha egy számítási feladatcsoportban futó kérés megkísérli növelni tempdb az adatterület-használatot a számítási feladatcsoport által GROUP_MAX_TEMPDB_DATA_MBbeállított korlát felett, az erőforrás-kormányzó 1138-ás hibával megszakítja a kérést. További információ: Tempdb space resource governance.
GROUP_MAX_TEMPDB_DATA_PERCENT = érték
Megadja, hogy egy számítási feladatcsoport mekkora területet használhat fel az tempdb adatfájlokban a maximális tempdb méret százalékában. A maximális tempdb méret definícióját a Százalékos korlát konfigurációja című témakörben talál.
az értéknek 0 és 100 közötti tartományban kell lennie, vagyis NULL. A törtértékek megengedettek.
Ha az érték 0, tempdb a tevékenységprofil-csoportban lévő munkamenetek által kiosztott terület nem engedélyezett. Ha egy érték nincs beállítva, az erőforrás-vezérlő nem korlátozza tempdb a számítási feladatcsoport által a területfelhasználást. Ha GROUP_MAX_TEMPDB_DATA_MB be van állítva, vagy ha tempdb a maximális méret nincs meghatározva, GROUP_MAX_TEMPDB_DATA_PERCENT nincs hatása.
A korlát a számítási feladatcsoport összes munkamenete tempdb által felhasznált teljes területre vonatkozik.
Ha egy számítási feladatcsoportban futó kérés megkísérli növelni tempdb az adatterület-használatot a számítási feladatcsoport által GROUP_MAX_TEMPDB_DATA_PERCENTbeállított korlát felett, az erőforrás-kormányzó 1138-ás hibával megszakítja a kérést. További információ: Tempdb space resource governance.
USING { pool_name | [alapértelmezett] }
A számítási feladatcsoportot a pool_nameáltal azonosított felhasználó által definiált erőforráskészlethez vagy a default erőforráskészlethez társítja. Ha nincs megadva pool_name, vagy ha a USING argumentum nincs megadva, a számítási feladatcsoport a beépített default készlethez van társítva.
default fenntartott szó, és ha az USINGvan megadva, szögletes zárójelek ([]) vagy idézőjelek ("") közé kell tenni.
A beépített erőforráskészletek és számítási feladatok minden kisbetűs nevet használnak, például default. Használja a kisbetűs default a kis- és nagybetűk megkülönböztetésével rendelkező kiszolgálókon. A kis- és nagybetűket nem érzékelyítő rendezéssel rendelkező kiszolgálók default, Defaultés DEFAULT azonos értékként kezelik.
KÜLSŐ external_pool_name | [ alapértelmezett ]
Az: SQL Server 2016 (13.x) és újabb verziókra vonatkozik.
A számítási feladatcsoport megadhat egy külső erőforráskészletet. Definiálhat egy számítási feladatcsoportot, és két készlethez társíthatja:
- Erőforráskészlet az adatbázismotor számítási feladataihoz.
- Külső erőforráskészlet külső folyamatokhoz. További információ: sp_execute_external_script.
Megjegyzések
További információ: Erőforrás-kormányzó és Erőforrás-kormányzó számítási feladatcsoport.
MAXDOP
Egy adott lekérdezés esetében a tényleges MAXDOP az alábbiak szerint határozzuk meg:
-
MAXDOPlekérdezési tipp csak akkor érvényes, ha nem lépi túl a számítási feladatcsoportMAX_DOPbeállítását. -
MAXDOPlekérdezési tippként mindig felülbírálja amax degree of parallelismkiszolgáló konfigurációját. További információ: kiszolgálókonfiguráció: a párhuzamosság maximális foka. - A számítási feladatcsoport
MAX_DOPfelülbírálja amax degree of parallelismkiszolgáló konfigurációját és aMAXDOPadatbázis-hatókörű konfigurációs.
A MAXDOP korlát tevékenységenkéntvan beállítva. Ez nem kérésenként vagy lekérdezési korlátonként. Egy párhuzamos lekérdezés végrehajtása során egyetlen kérés több feladatot is létrehozhat, amelyek egy ütemezőhözvannak hozzárendelve. További információ: Szál és feladatarchitektúra útmutató.
Ha egy lekérdezés fordításkor sorosként van megjelölve (MAXDOP = 1), a számítási feladatcsoporttól vagy a kiszolgáló konfigurációs beállításától függetlenül nem futtatható párhuzamossággal. A lekérdezés MAXDOP meghatározása után csak memóriaterhelés miatt lehet csökkenteni. A számítási feladatcsoport újrakonfigurálása nem befolyásolja a memória-engedélyezési várólistában várakozó lekérdezéseket.
Index létrehozása
Teljesítménybeli okokból az index létrehozása az eredetileg megadottnál több memória-munkaterületet használhat. Az erőforrás-kormányzó támogatja ezt a speciális kezelést. A kezdeti és a további memóriahasználati engedélyeket azonban a számítási feladatcsoport és az erőforráskészlet beállításai korlátozzák.
A particionált táblákon nem számított index létrehozásához felhasznált memória arányos az érintett partíciók számával. Ha a teljes szükséges memória meghaladja a REQUEST_MAX_MEMORY_GRANT_PERCENT számítási feladatcsoport-beállítás által kikényszerített lekérdezésenkénti korlátot, előfordulhat, hogy az index létrehozása meghiúsul. Mivel a default számítási feladatcsoport lehetővé teszi, hogy a lekérdezések túlléphessék a lekérdezésenkénti korlátot, és a minimálisan szükséges memória a visszamenőleges kompatibilitáshoz kezdődjenek, előfordulhat, hogy a default számítási feladatcsoport használatával is létrehozhatja ugyanazt az indexet, ha a default erőforráskészlet elegendő teljes memóriával rendelkezik.
Engedélyek
A CONTROL SERVER engedélyre van szükség.
Példák
Létrehoz egy newReports nevű számítási feladatcsoportot a default erőforráskészletben, és korlátozza a maximális memóriahasználatot, a kérések maximális processzoridejének és MAXDOP.
CREATE WORKLOAD GROUP newReports
WITH (
REQUEST_MAX_MEMORY_GRANT_PERCENT = 2.5,
REQUEST_MAX_CPU_TIME_SEC = 100,
MAX_DOP = 4
)
USING [default];
Kapcsolódó tartalom
- oktatóanyag: Az erőforrás-vezérlő konfigurációs példái és ajánlott eljárásai
- erőforrás-kormányzó
- Erőforrás-vezérlő számítási feladatcsoportjának
- Számítási feladatcsoport létrehozása
- ALTER SZÁMÍTÁSI FELADATCSOPORT (Transact-SQL)
- DROP WORKLOAD GROUP (Transact-SQL)
- ERŐFORRÁSKÉSZLET LÉTREHOZÁSA (Transact-SQL)
- ALTER RESOURCE POOL (Transact-SQL)
- DROP RESOURCE POOL (Transact-SQL)
- ALTER RESOURCE GOVERNOR (Transact-SQL)
- sys.resource_governor_workload_groups
- sys.dm_resource_governor_workload_groups
* Azure Synapse
Elemzés *
Azure Synapse Analytics
Létrehoz egy számítási feladatcsoportot. A számítási feladatok csoportjai egy kéréscsoport tárolói, és a számítási feladatok felügyeletének rendszerbeli konfigurálásának alapjai. A számítási feladatok csoportjai lehetővé teszik az erőforrások lefoglalását a számítási feladatok elkülönítéséhez, erőforrásokat tartalmazhatnak, erőforrásokat határozhatnak meg kérésenként, és betarthatók a végrehajtási szabályok. Az utasítás befejeződése után a beállítások érvénybe lépnek.
Transact-SQL szintaxis konvenciói
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
Azt a nevet adja meg, amellyel a számítási feladatcsoport azonosítható.
group_name egy sysname. Legfeljebb 128 karakter hosszú lehet, és egyedinek kell lennie a példányon belül.
MIN_PERCENTAGE_RESOURCE = érték
A többi számítási feladatcsoporttal nem megosztott számítási feladatcsoport garantált minimális erőforrás-lefoglalását adja meg. A paraméter által szabályozott egyetlen erőforrás a memória.
érték 0 és 100 közötti egész számtartomány. Az összes számítási feladatcsoport min_percentage_resource összege nem haladhatja meg a 100-t. A min_percentage_resource értéke nem lehet nagyobb, mint cap_percentage_resource. Szolgáltatásszintenként minimális érvényes értékek engedélyezettek. További részletekért lásd az Érvényes értékek című témakört.
CAP_PERCENTAGE_RESOURCE = érték
Egy számítási feladatcsoport összes kérésének maximális erőforrás-kihasználtságát adja meg. Ez a paraméter a cpu- és a memóriaerőforrásokat is megfelelteti. Az érték megengedett egész tartománya 1–100. A cap_percentage_resource értékének nagyobbnak kell lennie, mint min_percentage_resource. A cap_percentage_resource érvényes értéke csökkenthető, ha min_percentage_resource nullánál nagyobb értéket konfigurál más számítási feladatok csoportjaiban.
REQUEST_MIN_RESOURCE_GRANT_PERCENT =
a kérelemenként lefoglalt erőforrások minimális mennyiségét állítja be. A paraméter által szabályozott egyetlen erőforrás a memória.
érték egy kötelező paraméter, amelynek decimális tartománya 0,75 és 100,00 között van. A request_min_resource_grant_percent értékének 0,25 többszörösének kell lennie, min_percentage_resource tényezőnek kell lennie, és kisebbnek kell lennie, mint cap_percentage_resource. Szolgáltatásszintenként minimális érvényes értékek engedélyezettek. További részletekért lásd az Érvényes értékek című témakört.
Például:
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 )
Tekintse át az erőforrásosztályokhoz használt értékeket a request_min_resource_grant_percent útmutatójaként. Az alábbi táblázat a Gen2 erőforrás-lefoglalásait tartalmazza.
| Erőforrásosztály | Erőforrások százalékos aránya |
|---|---|
| Smallrc | 3% |
| Mediumrc | 10% |
| Nagyobb | 22% |
| Xlargerc | 70% |
REQUEST_MAX_RESOURCE_GRANT_PERCENT = érték
A kérelemenként lefoglalt erőforrások maximális mennyiségét állítja be. A paraméter által szabályozott egyetlen erőforrás a memória.
érték nem kötelező decimális paraméter, amelynek alapértelmezett értéke megegyezik a request_min_resource_grant_percent.
értéknek nagyobbnak vagy egyenlőnek kell lennie, mint request_min_resource_grant_percent. Ha a request_max_resource_grant_percent értéke nagyobb, mint request_min_resource_grant_percent és a rendszererőforrások rendelkezésre állnak, a rendszer további erőforrásokat rendel egy kéréshez.
FONTOSSÁGI = { LOW | BELOW_NORMAL | NORMAL | ABOVE_NORMAL | HIGH }
Megadja a számítási feladatcsoportra vonatkozó kérések alapértelmezett fontosságát. A fontosság az alábbiak egyike, alapértelmezés szerint a NORMAL a következő:
- ALACSONY
- BELOW_NORMAL
- NORMÁL (alapértelmezett)
- ABOVE_NORMAL
- MAGAS
A számítási feladatcsoportban beállított fontosság a számítási feladatcsoport összes kérésének alapértelmezett fontossága. A felhasználó az osztályozó szintjén is beállíthat fontosságot, ami felülírhatja a számítási feladatcsoport fontossági beállítását. Ez lehetővé teszi a számítási feladatcsoporton belüli kérések fontossági különbségeinek megkülönböztetését, hogy gyorsabban hozzáférjenek a nem fenntartott erőforrásokhoz. Ha a számítási feladatok csoportjai közötti min_percentage_resource összege kisebb, mint 100, vannak olyan nem fenntartott erőforrások, amelyek fontossági alapon vannak hozzárendelve.
QUERY_EXECUTION_TIMEOUT_SEC = érték
Másodpercben megadja, hogy a lekérdezések a megszakítás előtt maximálisan végrehajthatók-e.
értéknek 0-nak vagy pozitív egész számnak kell lennie. Az érték alapértelmezett beállítása 0, amelyet a lekérdezés soha nem időz. QUERY_EXECUTION_TIMEOUT_SEC számolja, ha a lekérdezés fut, és nem akkor, amikor a lekérdezés várólistára kerül.
Megjegyzések
Az erőforrásosztályoknak megfelelő számítási feladatok csoportjai automatikusan jönnek létre a visszamenőleges kompatibilitás érdekében. Ezeket a rendszer által definiált számítási feladatcsoportokat nem lehet elvetni. További 8 felhasználó által definiált számítási feladatcsoport hozható létre.
Ha egy számítási feladatcsoportot nullánál nagyobb min_percentage_resource hoz létre, a CREATE WORKLOAD GROUP utasítás mindaddig várólistára kerül, amíg nincs elegendő erőforrás a számítási feladatcsoport létrehozásához.
Érvényes értékek
A paraméterek min_percentage_resource, cap_percentage_resource, request_min_resource_grant_percent és request_max_resource_grant_percent olyan hatékony értékekkel rendelkeznek, amelyek az aktuális szolgáltatási szint és a többi számítási feladatcsoport konfigurációja kontextusában vannak módosítva.
A request_min_resource_grant_percent paraméter érvényes értékkel rendelkezik, mivel lekérdezésenként minimális erőforrásokra van szükség a szolgáltatásszinttől függően. A legalacsonyabb szolgáltatási szinten (DW100c) például kérésenként legalább 25% erőforrásra van szükség. Ha a számítási feladatcsoport 3% request_min_resource_grant_percent és request_max_resource_grant_percentvan konfigurálva, mindkét paraméter érvényes értékei a példány indításakor 25% értékre módosulnak. Ha a példány DW1000c értékre van skálázva, a konfigurált és érvényes értékek mindkét paraméter esetében 3%, mivel a 3% a minimális támogatott érték ezen a szolgáltatásszinten. Ha a példány mérete nagyobb, mint a DW1000c, akkor mindkét paraméter konfigurált és hatékony értékei 3%maradnak. Az alábbi táblázat további részleteket tartalmaz a különböző szolgáltatási szinteken érvényes értékekről.
| Szolgáltatási szint | Legalacsonyabb érvényes érték REQUEST_MIN_RESOURCE_GRANT_PERCENT | Egyidejű lekérdezések maximális száma |
|---|---|---|
| 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 |
A min_percentage_resource paraméternek nagyobbnak vagy egyenlőnek kell lennie a tényleges request_min_resource_grant_percent. A min_percentage_resource hatékonyabb min_percentage_resource konfigurált számítási feladatcsoport futásidőben nullára van állítva. Ilyen esetben a min_percentage_resource konfigurált erőforrások minden számítási feladatcsoportban megoszthatóak. Például a DW1000c-en futó 10% wgAdHocmin_percentage_resource számítási feladatcsoport tényleges min_percentage_resource 10% (3% a DW1000c minimális támogatott értéke).
wgAdhoc DW100c-nél 0%hatékony min_percentage_resource lenne. A wgAdhoc konfigurált 10% minden számítási feladatcsoportban meg lesz osztva.
A cap_percentage_resource paraméter érvényes értékkel is rendelkezik. Ha egy számítási feladatcsoport wgAdhoc 100% cap_percentage_resource van konfigurálva, és egy másik számítási csoport wgDashboards 25% min_percentage_resourcehoz létre, a cap_percentage_resource tényleges wgAdhoc 75%lesz.
A számítási feladatok csoportjai futásidejű értékeinek megismerésének legegyszerűbb módja a rendszernézet lekérdezése sys.dm_workload_management_workload_groups_stats.
Engedélyek
CONTROL DATABASE engedélyre van szükség