Megosztás a következőn keresztül:


ALTER RESOURCE GOVERNOR (Transact-SQL)

A következőkre vonatkozik:SQL ServerFelü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 vagy CREATE | 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 és internal 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);