Freigeben über


ALTER RESOURCE GOVERNOR (Transact-SQL)

Diese Anweisung wird für die folgenden Ressourcenkontrollaktionen in SQL Server verwendet:

  • Anwenden der Konfigurationsänderungen, die beim Ausgeben der CREATE|ALTER|DROP WORKLOAD GROUP-Anweisung oder CREATE|ALTER|DROP RESOURCE POOL-Anweisung angegeben wurden.

  • Aktivieren bzw. Deaktivieren der Ressourcenkontrolle.

  • Konfigurieren der Klassifizierung für eingehende Anforderungen.

  • Zurücksetzen der Statistik für Arbeitsauslastungsgruppen und Ressourcenpools.

  • Festlegen der maximalen E/A-Vorgänge pro Datenträgervolume.

Gilt für: SQL Server (SQL Server 2008 bis aktuelle Version).

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen

Syntax

ALTER RESOURCE GOVERNOR 
    { DISABLE | RECONFIGURE }
|
    WITH ( CLASSIFIER_FUNCTION = { schema_name.function_name | NULL } )
|
    RESET STATISTICS
| 
    WITH ( MAX_OUTSTANDING_IO_PER_VOLUME = value ) 

[ ; ]

Argumente

  • 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.

  • RECONFIGURE
    Wenn die Ressourcenkontrolle nicht aktiviert ist, wird sie durch RECONFIGURE aktiviert. 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 berücksichtigt 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 RECONFIGURE verwendet wird, während die Ressourcenkontrolle ausgeführt wird, werden alle Konfigurationsanforderungen angewendet, die beim Ausführen der CREATE|ALTER|DROP WORKLOAD GROUP-Anweisung oder der CREATE|ALTER|DROP RESOURCE POOL-Anweisung angefordert wurden.

    Wichtig

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

  • CLASSIFIER_FUNCTION = { schema_name**.**function_name | NULL }
    Registriert die von schema_name.function_name angegebene Klassifizierungsfunktion. 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).

  • MAX_OUTSTANDING_IO_PER_VOLUME = value

    Gilt für: SQL Server 2014 bis SQL Server 2014.

    Legt die maximale Anzahl an E/A-Vorgängen in der Warteschlange pro Datenträgervolume fest. Bei diesen E/A-Vorgängen kann es sich um Lese- oder Schreibvorgänge beliebiger Größe handeln. Der Maximalwert für MAX_OUTSTANDING_IO_PER_VOLUME ist 100. Der Wert ist kein Prozentsatz. Diese Einstellung ist so konzipiert, dass sie die E/A-Ressourcenkontrolle auf die E/A-Eigenschaften eines Datenträgervolumes abstimmt. Es empfiehlt sich, verschiedene Werte auszuprobieren und ggf. ein Kalibrierungstool wie IOMeter oder SQLIO zu verwenden, um den Maximalwert für das Speichersubsystem festzulegen. Diese Einstellung bietet eine Sicherheitsprüfung auf Systemebene, die es SQL Server ermöglicht, den minimalen IOPS-Wert für Ressourcenpools einzuhalten, auch wenn die MAX_IOPS_PER_VOLUME-Einstellung anderer Pools auf einen unbegrenzten Wert festgelegt ist. Weitere Informationen zu MAX_IOPS_PER_VOLUME finden Sie unter CREATE RESOURCE POOL.

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 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

Im folgenden Beispiel werden alle neuen Sitzungen der Standardarbeitsauslastungsgruppe zugewiesen, indem alle vorhandenen Klassifizierungsfunktionen aus der Konfiguration der Ressourcenkontrolle 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 angewendet.

-- 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 von Statistiken

Im folgenden Beispiel wird die gesamte Statistik für Arbeitsauslastungsgruppen und Ressourcenpools zurückgesetzt.

ALTER RESOURCE GOVERNOR RESET STATISTICS;

E.Festlegen der MAX_OUTSTANDING_IO_PER_VOLUME-Option

Im folgenden Beispiel wird die MAX_OUTSTANDING_IO_PER_VOLUME-Option auf 20 festgelegt.

ALTER RESOURCE GOVERNOR
WITH (MAX_OUTSTANDING_IO_PER_VOLUME = 20); 

Siehe auch

Verweis

CREATE RESOURCE POOL (Transact-SQL)

ALTER RESOURCE POOL (Transact-SQL)

DROP RESOURCE POOL (Transact-SQL)

CREATE WORKLOAD GROUP (Transact-SQL)

ALTER WORKLOAD GROUP (Transact-SQL)

DROP WORKLOAD GROUP (Transact-SQL)

sys.dm_resource_governor_workload_groups (Transact-SQL)

sys.dm_resource_governor_resource_pools (Transact-SQL)

Konzepte

Ressourcenkontrolle