Freigeben über


ALTER RESOURCE GOVERNOR (Transact-SQL)

Dieser Befehl wird verwendet, um die folgenden Aktionen auszuführen:

  • Übernehmen der angegebenen Konfigurationsänderungen, wenn eine CREATE|ALTER|DROP WORKLOAD GROUP-Anweisung oder eine CREATE|ALTER|DROP RESOURCE POOL-Anweisung ausgegeben wird.

  • Aktivieren bzw. Deaktivieren der Ressourcenkontrolle

  • Konfigurieren der Klassifizierung für eingehende Anforderungen.

  • Zurücksetzen der Statistik für Arbeitsauslastungsgruppe und Ressourcenpool

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

ALTER RESOURCE GOVERNOR 
    { DISABLE | RECONFIGURE }
|
    WITH ( CLASSIFIER_FUNCTION = { schema_name.function_name | NULL } )
|
    RESET STATISTICS
[ ; ]

Argumente

Ausdruck

Definition

DISABLE | RECONFIGURE

DISABLE deaktiviert die Ressourcenkontrolle. Wenn Sie die Ressourcenkontrolle deaktivieren, geschieht Folgendes:

  • Die Klassifizierungsfunktion wird nicht ausgeführt.

  • Alle neuen Verbindungen werden automatisch der Standardgruppe zugewiesen.

  • Vom System initiierte Anforderungen werden der internen Arbeitsauslastungsgruppe zugewiesen.

  • Alle Einstellungen für bestehende Arbeitsauslastungsgruppen und Ressourcenpools werden auf die Standardwerte zurückgesetzt. In diesem Fall werden keine Ereignisse ausgelöst, wenn Grenzwerte erreicht werden.

  • Die reguläre Systemüberwachung bleibt unbeeinflusst.

  • Sie können die Konfiguration ändern, die Änderungen treten jedoch erst in Kraft, wenn die Ressourcenkontrolle wieder aktiviert wird.

  • Beim Neustart von SQL Server lädt die Ressourcenkontrolle nicht ihre Konfiguration, sondern enthält lediglich die Standardgruppen und -pools sowie die internen Gruppen und Pools.

Wenn die Ressourcenkontrolle nicht aktiviert ist, aktiviert RECONFIGURE die Ressourcenkontrolle. Wenn Sie die Ressourcenkontrolle aktivieren, geschieht Folgendes:

  • Die Klassifizierungsfunktion wird für neue Verbindungen ausgeführt, damit deren Arbeitsauslastung Arbeitsauslastungsgruppen zugeordnet werden kann.

  • Die in der Konfiguration der Ressourcenkontrolle angegebenen Ressourcengrenzwerte werden überprüft und durchgesetzt.

  • Alle Konfigurationsänderungen, die bei deaktivierter Ressourcenkontrolle vorgenommen wurden, wirken sich auf Anforderungen aus, die bereits bestanden, bevor die Ressourcenkontrolle aktiviert wurde.

Wenn die Option RECONFIGURE verwendet wird, während die Ressourcenkontrolle ausgeführt wird, werden alle Konfigurationsanforderungen übernommen, die beim Ausführen der CREATE|ALTER|DROP WORKLOAD GROUP-Anweisung oder der CREATE|ALTER|DROP RESOURCE POOL-Anweisung angefordert wurden.

Wichtiger HinweisWichtig
ALTER RESOURCE GOVERNOR RECONFIGURE muss ausgegeben werden, damit Konfigurationsänderungen wirksam werden.

CLASSIFIER_FUNCTION = { schema_name.function_name | NULL }

Registriert die Klassifizierungsfunktion, die durch Schemaname.Funktionsname angegeben wird. Diese Funktion klassifiziert jede neue Sitzung und weist die Sitzungsanforderungen und Abfragen einer Arbeitsauslastungsgruppe zu. Bei Verwendung von NULL werden neue Sitzungen automatisch der Standardarbeitsauslastungsgruppe zugewiesen.

RESET STATISTICS

Setzt die Statistik für alle Arbeitsauslastungsgruppen und Ressourcenpools zurück. Weitere Informationen finden Sie unter sys.dm_resource_governor_workload_groups (Transact-SQL) und sys.dm_resource_governor_resource_pools (Transact-SQL).

Hinweise

ALTER RESOURCE GOVERNOR DISABLE, ALTER RESOURCE GOVERNOR RECONFIGURE und ALTER RESOURCE GOVERNOR RESET STATISTICS können nicht in einer Benutzertransaktion verwendet werden.

Der RECONFIGURE-Parameter ist Teil der Syntax der Ressourcenkontrolle und darf nicht mit RECONFIGURE verwechselt werden, die eine eigene DDL-Anweisung ist.

Sie sollten mit den Status der Ressourcenkontrolle vertraut sein, bevor Sie DDL-Anweisungen ausführen. Weitere Informationen finden Sie unter Status der Ressourcenkontrolle.

Berechtigungen

Erfordert die CONTROL SERVER-Berechtigung.

Beispiele

A. Starten der Ressourcenkontrolle

Nach der Installation von SQL Server ist die Ressourcenkontrolle zunächst deaktiviert. Im folgenden Beispiel wird die Ressourcenkontrolle gestartet. Sobald die Anweisung ausgeführt wurde, ist die Ressourcenkontrolle gestartet und kann die vordefinierten Arbeitsauslastungsgruppen und Ressourcenpools verwenden.

ALTER RESOURCE GOVERNOR RECONFIGURE;

B. Zuweisen neuer Sitzungen zur Standardgruppe

Das folgende Beispiel weist alle neuen Sitzungen der Standardarbeitsauslastungsgruppe zu, indem alle vorhandenen Klassifizierungsfunktionen aus der Konfiguration der Ressourcenüberwachung entfernt werden. Wenn keine Funktion als Klassifizierungsfunktion festgelegt ist, werden alle neuen Sitzungen der Standardarbeitsauslastungsgruppe zugewiesen. Diese Änderung gilt nur für neue Sitzungen. Vorhandene Sitzungen werden nicht beeinflusst.

ALTER RESOURCE GOVERNOR WITH (CLASSIFIER_FUNCTION = NULL);
GO
ALTER RESOURCE GOVERNOR RECONFIGURE;

C. Erstellen und Registrieren einer Klassifizierungsfunktion

Im folgenden Beispiel wird die Klassifizierungsfunktion dbo.rgclassifier_v1 erstellt. Diese Funktion klassifiziert jede neue Sitzung anhand des Benutzer- oder Anwendungsnamens und weist die Sitzungsanforderungen und Abfragen einer bestimmten Arbeitsauslastungsgruppe zu. Sitzungen, die nicht mit dem angegebenen Benutzer- oder Anwendungsnamen übereinstimmen, werden der Standardarbeitsauslastungsgruppe zugewiesen. Anschließend wird die Klassifizierungsfunktion registriert, und die Konfigurationsänderung wird übernommen.

-- Store the classifier function in the master database.
USE master;
GO
SET ANSI_NULLS ON;
GO
SET QUOTED_IDENTIFIER ON;
GO
CREATE FUNCTION dbo.rgclassifier_v1() RETURNS sysname 
WITH SCHEMABINDING
AS
BEGIN
-- Declare the variable to hold the value returned in sysname.
    DECLARE @grp_name AS sysname
-- If the user login is 'sa', map the connection to the groupAdmin
-- workload group. 
    IF (SUSER_NAME() = 'sa')
        SET @grp_name = 'groupAdmin'
-- Use application information to map the connection to the groupAdhoc
-- workload group.
    ELSE IF (APP_NAME() LIKE '%MANAGEMENT STUDIO%')
        OR (APP_NAME() LIKE '%QUERY ANALYZER%')
            SET @grp_name = 'groupAdhoc'
-- If the application is for reporting, map the connection to
-- the groupReports workload group.
    ELSE IF (APP_NAME() LIKE '%REPORT SERVER%')
        SET @grp_name = 'groupReports'
-- If the connection does not map to any of the previous groups,
-- put the connection into the default workload group.
    ELSE
        SET @grp_name = 'default'
    RETURN @grp_name
END
GO
-- Register the classifier user-defined function and update the 
-- the in-memory configuration.
ALTER RESOURCE GOVERNOR WITH (CLASSIFIER_FUNCTION=dbo.rgclassifier_v1);
GO
ALTER RESOURCE GOVERNOR RECONFIGURE;
GO

D. Zurücksetzen der Statistik

Im folgenden Beispiel wird die gesamte Statistik der Arbeitsauslastungsgruppe und des Pools zurückgesetzt.

ALTER RESOURCE GOVERNOR RESET STATISTICS;