ALTER RESOURCE GOVERNOR (Transact-SQL)
A következőkre vonatkozik:SQL Server
Felügyelt Azure SQL-példány
Ez az utasítás a következő erőforrás-kormányzói műveleteket hajtja végre:
- Engedélyezze vagy tiltsa le az erőforrás-vezérlőt.
- Alkalmazza a
CREATE | ALTER | DROP WORKLOAD GROUP
,CREATE | ALTER | DROP RESOURCE POOL
vagyCREATE | ALTER | DROP EXTERNAL RESOURCE POOL
utasítások végrehajtásakor megadott konfigurációs módosításokat. - Konfigurálja a bejövő munkamenetek besorolását.
- Számítási feladatcsoport és erőforráskészlet statisztikáinak alaphelyzetbe állítása.
- Állítsa be lemezkötetenként a várólistára helyezett I/O-műveletek maximális számát.
Transact-SQL szintaxis konvenciói
Szintaxis
ALTER RESOURCE GOVERNOR
{ RECONFIGURE
[ WITH
( [ CLASSIFIER_FUNCTION = { schema_name.function_name | NULL } ]
[ [ , ] MAX_OUTSTANDING_IO_PER_VOLUME = value ]
)
]
| DISABLE
| RESET STATISTICS
}
[ ; ]
Érvek
ÚJRAKONFIGURÁLÁSA
Ha az erőforrás-kormányzó nincs engedélyezve, RECONFIGURE
engedélyezi az erőforrás-kormányzót. Az erőforrás-kormányzó engedélyezésének eredménye a következő:
- Ha van ilyen, az osztályozófüggvény új munkamenetekhez lesz végrehajtva, és hozzárendeli őket a számítási feladatok csoportjaihoz.
- Az erőforrás-kormányzó konfigurációjában megadott erőforrás-foglalásokat és korlátokat a rendszer betartja és kikényszeríti.
- Az erőforrás-kormányzó engedélyezése előtt létező kéréseket befolyásolhatja az erőforrás-kormányzó engedélyezésekor végrehajtott konfigurációs módosítások.
Ha az erőforrás-vezérlő engedélyezve van, RECONFIGURE
a CREATE | ALTER | DROP WORKLOAD GROUP
, CREATE | ALTER | DROP RESOURCE POOL
vagy CREATE | ALTER | DROP EXTERNAL RESOURCE POOL
utasítások által végrehajtott konfigurációs módosításokat alkalmazza a RECONFIGURE
előző használata vagy az adatbázismotor utolsó újraindítása után.
Fontos
ALTER RESOURCE GOVERNOR RECONFIGURE
végre kell hajtani az erőforrás-vezérlő konfigurációs módosításainak érvénybe lépéséhez.
CLASSIFIER_FUNCTION = { schema_name.function_name | NULL }
A schema_name.function_nameáltal megadott besorolási függvényt regisztrálja. Ez a függvény minden új munkamenetet osztályba sorol, és hozzárendeli a munkamenetet egy számítási feladatcsoporthoz. A NULL
használatakor a rendszer automatikusan új munkameneteket rendel a default
számítási feladatcsoporthoz.
MAX_OUTSTANDING_IO_PER_VOLUME = érték
A következővonatkozik: SQL Server 2014 (12.x) és újabb.
Beállítja az üzenetsorba helyezett I/O-műveletek maximális számát lemezkötetenként. Ezek az I/O-műveletek bármilyen méretű olvasásra vagy írásra használhatók. A MAX_OUTSTANDING_IO_PER_VOLUME
maximális értéke 100. Az érték nem százalék. Ez a beállítás úgy lett kialakítva, hogy az IO-erőforrás-szabályozást a lemezkötet I/O-jellemzőire hangolja. Rendszerszintű biztonsági ellenőrzést biztosít, amely lehetővé teszi az adatbázismotor számára, hogy megfeleljen az erőforráskészletekhez megadott MIN_IOPS_PER_VOLUME
beállításnak, még akkor is, ha más készleteknél korlátlanra van állítva a MAX_IOPS_PER_VOLUME
beállítás. További információ: CREATE RESOURCE POOL.
LETILT
Letiltja az erőforrás-vezérlőt. Az erőforrás-kormányzó letiltása a következő eredményeket eredményezi:
- Az osztályozó függvény nincs végrehajtva.
- Minden új felhasználói munkamenet automatikusan a
default
számítási feladatcsoportba lesz besorolva. - A rendszer munkamenetei a
internal
számítási feladatcsoportba vannak besorolva. - Minden meglévő számítási feladatcsoport és erőforráskészlet-beállítás alaphelyzetbe áll az alapértelmezett értékre. A korlátok elérésekor nem aktiválódnak események.
- A normál rendszerfigyelés nincs hatással.
- Az erőforrás-kormányzó konfigurációja módosítható, de a módosítások csak akkor lépnek érvénybe, ha engedélyezve van az erőforrás-vezérlő.
- Az adatbázismotor újraindítása után az erőforrás-vezérlő nem tölti be a konfigurációját, hanem csak a
default
ésinternal
számítási feladatcsoportokat és erőforráskészleteket használja.
STATISZTIKÁK VISSZAÁLLÍTÁSA
Visszaállítja a sys.dm_resource_governor_workload_groups és sys.dm_resource_governor_resource_poolsáltal közzétett összes számítási feladatcsoport és erőforráskészlet statisztikáit.
Megjegyzések
ALTER RESOURCE GOVERNOR
nem használható felhasználói tranzakción belül.
A RECONFIGURE
paraméter az erőforrás-vezérlő szintaxisának része. Ez nem tévesztendő össze RECONFIGURE, amely egy külön DDL utasítás.
További információ: Resource Governor.
Engedélyek
A CONTROL SERVER
engedélyre van szükség.
Példák
Erőforrás-vezérlő engedélyezése
Az SQL Server telepítésekor az erőforrás-vezérlő le van tiltva. Az alábbi példa lehetővé teszi az erőforrás-vezérlő használatát. Az utasítás végrehajtása után az erőforrás-vezérlő engedélyezve van, és beépített számítási feladatcsoportokat és erőforráskészleteket használ.
ALTER RESOURCE GOVERNOR RECONFIGURE;
Új munkamenetek hozzárendelése az alapértelmezett csoporthoz
Az alábbi példa az összes új munkamenetet hozzárendeli a default
számítási feladatcsoporthoz úgy, hogy eltávolítja a meglévő osztályozófüggvényeket az erőforrás-vezérlő konfigurációjából. Ha egyetlen függvény sincs osztályozófüggvényként kijelölve, a rendszer minden új felhasználói munkamenetet hozzárendel a default
számítási feladatcsoporthoz. Ez a módosítás csak az új munkamenetekre vonatkozik. A meglévő munkamenetekre nincs hatással.
ALTER RESOURCE GOVERNOR WITH (CLASSIFIER_FUNCTION = NULL);
ALTER RESOURCE GOVERNOR RECONFIGURE;
Osztályozófüggvény létrehozása és regisztrálása
Az alábbi példa egy dbo.rg_classifier
nevű osztályozófüggvényt hoz létre a master
adatbázisban. A függvény a felhasználónév vagy az alkalmazásnév alapján osztályozza az összes új munkamenetet, és hozzárendeli a munkamenet-kérelmeket és lekérdezéseket egy adott számítási feladatcsoporthoz. Azok a munkamenetek, amelyek nem képezhetők le a megadott felhasználó- vagy alkalmazásnevekre, az alapértelmezett számítási feladatcsoporthoz vannak rendelve. Ezután regisztrálja az osztályozófüggvényt, és alkalmazza a konfigurációs módosítást.
USE master;
GO
CREATE FUNCTION dbo.rg_classifier()
RETURNS sysname
WITH SCHEMABINDING
AS
BEGIN
-- Declare the variable for the function return value.
DECLARE @grp_name AS sysname;
-- If the login name is 'sa', classify the session into the groupAdmin workload group
IF (SUSER_NAME() = 'sa')
SET @grp_name = 'groupAdmin';
-- Classify SSMS sessions into the groupAdhoc workload group
ELSE IF UPPER(APP_NAME()) LIKE '%MANAGEMENT STUDIO%'
SET @grp_name = 'groupAdhoc';
-- Classify SSRS sessions into groupReports workload group
ELSE IF UPPER(APP_NAME()) LIKE '%REPORT SERVER%'
SET @grp_name = 'groupReports';
-- Otherwise, classify the session into the default workload group
ELSE
SET @grp_name = 'default';
-- Return the name of the workload group
RETURN @grp_name;
END;
GO
-- Register the classifier function and update resource governor configuration
ALTER RESOURCE GOVERNOR WITH (CLASSIFIER_FUNCTION = dbo.rg_classifier);
ALTER RESOURCE GOVERNOR RECONFIGURE;
Erőforrás-kormányzó statisztikáinak alaphelyzetbe állítása
Az alábbi példa az összes számítási feladatcsoport és erőforráskészlet statisztikáját alaphelyzetbe állítja.
ALTER RESOURCE GOVERNOR RESET STATISTICS;
A MAX_OUTSTANDING_IO_PER_VOLUME beállítása
Az alábbi példa a MAX_OUTSTANDING_IO_PER_VOLUME
beállítást 20 IOS értékre állítja.
ALTER RESOURCE GOVERNOR WITH (MAX_OUTSTANDING_IO_PER_VOLUME = 20);
Kapcsolódó tartalom
- erőforrás-kormányzó
- Erőforrás-vezérlő konfigurációs példái és ajánlott eljárásai
- CREATE RESOURCE POOL
- ALTER RESOURCE POOL
- DROP RESOURCE POOL
- KÜLSŐ ERŐFORRÁSKÉSZLET LÉTREHOZÁSA
- KÜLSŐ ERŐFORRÁSKÉSZLET ELVETÉSE
- KÜLSŐ ERŐFORRÁSKÉSZLET MÓDOSÍTÁSA
- SZÁMÍTÁSI FELADATCSOPORT LÉTREHOZÁSA
- SZÁMÍTÁSI FELADATCSOPORT MÓDOSÍTÁSA
- SZÁMÍTÁSI FELADATCSOPORT
- sys.dm_resource_governor_workload_groups
- sys.dm_resource_governor_resource_pools