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.
A következőkre vonatkozik:SQL Server
Azure SQL Managed Instance
Az erőforrás-kormányzó besorolási folyamata egy osztályozófüggvény használatával rendelhet bejövő munkameneteket feladatcsoporthoz. Az osztályozó függvény az egyéni logikát tartalmazza a munkamenetek számítási feladatcsoportokba való besorolásához.
Konfigurációs és monitorozási példákért, valamint az erőforrás-kormányzó ajánlott eljárásainak megismeréséhez tekintse meg oktatóanyagot: Az erőforrás-vezérlő konfigurációs példái és ajánlott eljárásai.
Classification
Az erőforrás-kormányzóval minden új munkamenet egy számítási feladatcsoportba van besorolva. Az osztályozó egy felhasználó által definiált skaláris függvény, amelyet ön hoz létre. Tartalmazza a kívánt logikát a bejövő munkamenetek számítási feladatcsoporthoz való hozzárendeléséhez. Az osztályozó által visszaadott skaláris érték annak a számítási feladatcsoportnak a neve, amely egy bejövő munkamenethez rendelhető.
Ha az erőforrás-vezérlő engedélyezve van, és egy osztályozó függvény van megadva az erőforrás-vezérlő konfigurációjában, akkor a függvény kimenete határozza meg az új munkamenetekhez használt számítási feladatcsoportot. Ellenkező esetben az összes felhasználói munkamenet a default számítási feladatcsoportba van besorolva.
Megjegyzés:
A internal számítási feladatcsoport csak belső rendszerkérésekhez használható. Nem módosíthatja a kérelmek számítási feladatcsoporthoz internal való hozzárendeléséhez használt feltételeket, és a kérelmeket nem lehet explicit módon besorolni a internal számítási feladatcsoportba.
Az osztályozófüggvény használatának megkezdéséhez a következő lépéseket kell elvégeznie:
- Hozza létre a függvényt a
masteradatbázisban a CREATE FUNCTION használatával. A függvénynek sémakötést kell használnia. - A paraméterrel hivatkozzon az erőforrás-vezérlő konfigurációjában ALTER RESOURCE GOVERNOR található függvényre
CLASSIFIER_FUNCTION. - Az új konfiguráció érvényesítése ezzel:
ALTER RESOURCE GOVERNOR RECONFIGURE.
Fontos
Az ügyfélkapcsolat létesítési kísérletek időtúllépést okozhatnak, ha az osztályozó függvény nem fejeződik be az ügyfél által konfigurált kapcsolat időtúllépési időn belül. Fontos, hogy olyan osztályozófüggvényeket hozzon létre, amelyek a kapcsolat időtúllépése előtt befejezik a végrehajtást.
Tartsa egyszerűnek az osztályozó függvényt. Kerülje az összetett vagy időigényes logika használatát. Ha lehetséges, kerülje az adathozzáférést az osztályozóban.
Az osztályozó függvény a következő jellemzőkkel és viselkedésekkel rendelkezik:
- A függvény a kiszolgáló hatókörében (az adatbázisban) van definiálva
master. - A függvény sémakötéssel van definiálva. További információ: SCHEMABINDING.
- A függvény kiértékelése minden új munkamenetre érvényes, még akkor is, ha engedélyezve van a kapcsolatkészletezés.
- A függvény visszaadja a munkamenet számítási feladatcsoportjának környezetét. A munkamenet a munkamenet élettartamára vonatkozóan az osztályozó által visszaadott számítási feladatcsoporthoz van rendelve.
- Ha a függvény egy nem létező számítási feladatcsoport nevét adja vissza
NULLdefault, akkor a munkamenet adefaultszámítási feladatcsoport környezetét kapja. A munkamenetdefaultkontextust kap akkor is, ha a függvény bármilyen okból meghiúsul. - Az osztályozó függvény
ALTER RESOURCE GOVERNOR (WITH CLASSIFIER_FUNCTION = ...)utasítással történő hozzáadása vagy eltávolítása után a változás csak aALTER RESOURCE GOVERNOR RECONFIGUREutasítás végrehajtása után lép érvénybe. - Egyszerre csak egy függvény jelölhető ki osztályozóként.
- Az osztályozófüggvény csak akkor módosítható vagy törölhető, ha az osztályozó állapota el lett távolítva egy olyan utasítással
ALTER RESOURCE GOVERNOR (WITH CLASSIFIER_FUNCTION = ...), amely a függvény nevét egy másik függvény nevéreNULLvagy nevére állítja. - Osztályozófüggvény hiányában minden munkamenet a
defaultcsoportba lesz besorolva. - Az osztályozófüggvény kimenetében megadott számítási feladatok csoportjai nem tartoznak a sémakötési korlátozás hatókörébe. Az osztályozófüggvényben hivatkozott táblát például nem lehet elvetni, de akkor is elvethet egy számítási feladatcsoportot, ha az osztályozó a csoport nevét adja vissza.
DAC engedélyezése
Hibaelhárítási és diagnosztikai célokra javasoljuk, hogy proaktív módon engedélyezze és ismerje meg a dedikált rendszergazdai kapcsolatot (DAC). A DAC nem tartozik erőforrás-kormányzói besorolás alá. DAC használatával akkor is felügyelheti és elháríthatja a hibákat az osztályozó függvénynél, ha az erőforrás-vezérlő konfigurációja meghibásodik, és más kapcsolatok nem használhatók. További információkért lásd: Diagnosztikai kapcsolat adatbázis-rendszergazdák számára.
Ha a DAC nem érhető el hibaelhárításhoz, a kiszolgálót egyetlen felhasználói módban indíthatja el. Bár az egyfelhasználós módú kapcsolat nem tartozik besoroláshoz, nem képes diagnosztizálni az erőforrás-kormányzó besorolását futás közben.
Ha dac használatával csatlakozik, vagy egyfelhasználós módban csatlakozik, módosíthatja az erőforrás-vezérlő konfigurációját , hogy eltávolítson egy hibás osztályozófüggvényt, vagy letiltsa az erőforrás-vezérlőt.
Bejelentkezési folyamat
Az erőforrás-kormányzó kontextusában a munkamenet bejelentkezési folyamata a következő lépésekből áll:
- Bejelentkezési hitelesítés.
- Bejelentkezési eseményindító végrehajtása. Csak akkor fordul elő, ha a példányban vannak bejelentkezési triggerek.
- Osztályozás.
A besorolás indításakor az erőforrás-vezérlő végrehajtja az osztályozó függvényt, és a függvény által visszaadott skaláris értékkel küld kéréseket az egyező számítási feladatcsoportnak.
A bejelentkezési eseményindítók és az osztályozó függvény végrehajtását sys.dm_exec_sessions és sys.dm_exec_requests rendszernézetek használatával figyelheti.
Példák
Az erőforrás-vezérlő osztályozó függvénye sokféle egyéni logikát használhat. További példákért és útmutatóért tekintse meg az oktatóanyagot: Erőforrás-vezérlő konfigurációs példái és ajánlott eljárásai.
A. Hoszt neve
Ez a függvény a munkameneteket egy adott gazdagépnévből egy számítási feladatcsoportba Reportssorolja be a HOST_NAME() beépített rendszerfüggvény használatával. Az összes többi munkamenet továbbra is a default számítási feladatcsoportba lesz besorolva.
CREATE FUNCTION dbo.rg_classifier()
RETURNS sysname
WITH SCHEMABINDING
AS
BEGIN
DECLARE @grp_name sysname = 'default';
IF (HOST_NAME() IN ('reportserver1','reportserver2'))
SET @grp_name = 'Reports';
RETURN @grp_name;
END;
GO
B. Felhasználónév
Ez a függvény a munkameneteket adott felhasználónevekből vagy szolgáltatásfiókok neveiből osztályozza egy számítási feladatcsoportba, amely a Reports beépített rendszerfüggvény használatával van elnevezve. Az összes többi munkamenet továbbra is a default számítási feladatcsoportba lesz besorolva.
CREATE FUNCTION dbo.rg_classifier()
RETURNS sysname
WITH SCHEMABINDING
AS
BEGIN
DECLARE @grp_name sysname = 'default';
IF (SUSER_SNAME() IN ('Reporting', 'domain/svc_reporting'))
SET @grp_name = 'Reports';
RETURN @grp_name;
END;
GO
C. Alkalmazás neve
Ez a függvény a munkameneteket adott alkalmazásnevekből egy számítási feladatcsoportba Adhocsorolja be a APP_NAME() beépített rendszerfüggvény használatával. Az összes többi munkamenet továbbra is a default számítási feladatcsoportba lesz besorolva.
Fontos
Egy alkalmazás vagy felhasználó bármilyen alkalmazásnevet megadhat a kapcsolati sztring részeként. A felhasználók sokféle alkalmazáson keresztül csatlakozhatnak.
CREATE FUNCTION dbo.rg_classifier()
RETURNS sysname
WITH SCHEMABINDING
AS
BEGIN
DECLARE @grp_name sysname = 'default';
IF (APP_NAME() IN ('Microsoft SQL Server Management Studio - Query','azdata'))
SET @grp_name = 'Adhoc';
RETURN @grp_name;
END;
GO