ALTER RESOURCE GOVERNOR (Transact-SQL)ALTER RESOURCE GOVERNOR (Transact-SQL)

GILT FÜR: jaSQL Server neinAzure SQL-DatenbankneinAzure SQL Data Warehouse neinParallel Data WarehouseAPPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Diese Anweisung wird für die folgenden Ressourcenkontrollaktionen in SQL ServerSQL Server verwendet:This statement is used to perform the following Resource Governor actions in SQL ServerSQL Server:

  • Anwenden der Konfigurationsänderungen, die beim Ausgeben der Anweisungen CREATE|ALTER|DROP WORKLOAD GROUP oder CREATE|ALTER|DROP RESOURCE POOL oder CREATE|ALTER|DROP EXTERNAL RESOURCE POOL angegeben wurden.Apply the configuration changes specified when the CREATE|ALTER|DROP WORKLOAD GROUP or CREATE|ALTER|DROP RESOURCE POOL or CREATE|ALTER|DROP EXTERNAL RESOURCE POOL statements are issued.

  • Aktivieren bzw. Deaktivieren der Ressourcenkontrolle.Enable or disable Resource Governor.

  • Konfigurieren der Klassifizierung für eingehende Anforderungen.Configure classification for incoming requests.

  • Zurücksetzen der Statistik für Arbeitsauslastungsgruppen und Ressourcenpools.Reset workload group and resource pool statistics.

  • Festlegen der maximalen E/A-Vorgänge pro Datenträgervolume.Sets the maximum I/O operations per disk volume.

Themenlinksymbol Transact-SQL-SyntaxkonventionenTopic link icon Transact-SQL Syntax Conventions

SyntaxSyntax

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

ArgumenteArguments

DISABLEDISABLE
Deaktiviert die Ressourcenkontrolle.Disables Resource Governor. Wenn Sie Resource Governor deaktivieren, geschieht Folgendes:Disabling Resource Governor has the following results:

  • Die Klassifizierungsfunktion wird nicht ausgeführt.The classifier function is not executed.

  • Alle neuen Verbindungen werden automatisch der Standardgruppe zugewiesen.All new connections are automatically classified into the default group.

  • Vom System initiierte Anforderungen werden der internen Arbeitsauslastungsgruppe zugewiesen.System-initiated requests are classified into the internal workload group.

  • Alle Einstellungen für bestehende Arbeitsauslastungsgruppen und Ressourcenpools werden auf die Standardwerte zurückgesetzt.All existing workload group and resource pool settings are reset to their default values. In diesem Fall werden keine Ereignisse ausgelöst, wenn Grenzwerte erreicht werden.In this case, no events are fired when limits are reached.

  • Die reguläre Systemüberwachung bleibt unbeeinflusst.Normal system monitoring is not affected.

  • Sie können die Konfiguration ändern, die Änderungen treten jedoch erst in Kraft, wenn Resource Governor wieder aktiviert wird.Configuration changes can be made, but the changes do not take effect until Resource Governor is enabled.

  • Beim Neustart von SQL ServerSQL Server lädt die Ressourcenkontrolle nicht ihre Konfiguration, sondern enthält lediglich die Standardgruppen und -pools sowie die internen Gruppen und Pools.Upon restarting SQL ServerSQL Server, the Resource Governor will not load its configuration, but instead will have only the default and internal groups and pools.

RECONFIGURERECONFIGURE
Wenn die Ressourcenkontrolle nicht aktiviert ist, wird sie durch RECONFIGURE aktiviert.When the Resource Governor is not enabled, RECONFIGURE enables the Resource Governor. Wenn Sie Resource Governor deaktivieren, geschieht Folgendes:Enabling Resource Governor has the following results:

  • Die Klassifizierungsfunktion wird für neue Verbindungen ausgeführt, damit deren Arbeitsauslastung Arbeitsauslastungsgruppen zugeordnet werden kann.The classifier function is executed for new connections so that their workload can be assigned to workload groups.

  • Die in der Konfiguration der Ressourcenkontrolle angegebenen Ressourcengrenzwerte werden überprüft und durchgesetzt.The resource limits that are specified in the Resource Governor configuration are honored and enforced.

  • Alle Konfigurationsänderungen, die bei deaktivierte Resource Governor vorgenommen wurden, wirken sich auf Anforderungen aus, die bereits bestanden, bevor Resource Governor aktiviert wurde.Requests that existed before enabling Resource Governor are affected by any configuration changes that were made when Resource Governor was disabled.

Wenn RECONFIGURE beim Ausführen von Resource Governor verwendet wird, werden alle Konfigurationsanforderungen angewendet, die beim Ausführen der Anweisungen CREATE|ALTER|DROP WORKLOAD GROUP oder CREATE|ALTER|DROP RESOURCE POOL oder CREATE|ALTER|DROP EXTERNAL RESOURCE POOL angefordert wurden.When Resource Governor is running, RECONFIGURE applies any configuration changes requested when the CREATE|ALTER|DROP WORKLOAD GROUP or CREATE|ALTER|DROP RESOURCE POOL or CREATE|ALTER|DROP EXTERNAL RESOURCE POOL statements are executed.

Wichtig

ALTER RESOURCE GOVERNOR RECONFIGURE muss ausgegeben werden, damit Konfigurationsänderungen wirksam werden.ALTER RESOURCE GOVERNOR RECONFIGURE must be issued in order for any configuration changes to take effect.

CLASSIFIER_FUNCTION = { Schemaname . Funktionsname | NULL }CLASSIFIER_FUNCTION = { schema_name.function_name | NULL }
Registriert die Klassifizierungsfunktion, die durch schema_name.function_name angegeben wird.Registers the classification function specified by schema_name.function_name. Diese Funktion klassifiziert jede neue Sitzung und weist die Sitzungsanforderungen und Abfragen einer Arbeitsauslastungsgruppe zu.This function classifies every new session and assigns the session requests and queries to a workload group. Bei Verwendung von NULL werden neue Sitzungen automatisch der Standardarbeitsauslastungsgruppe zugewiesen.When NULL is used, new sessions are automatically assigned to the default workload group.

RESET STATISTICSRESET STATISTICS
Setzt die Statistik für alle Arbeitsauslastungsgruppen und Ressourcenpools zurück.Resets statistics on all workload groups and resource pools. Weitere Informationen finden Sie unter sys.dm_resource_governor_workload_groups (Transact-SQL) und sys.dm_resource_governor_resource_pools (Transact-SQL).For more information, see sys.dm_resource_governor_workload_groups (Transact-SQL) and sys.dm_resource_governor_resource_pools (Transact-SQL).

MAX_OUTSTANDING_IO_PER_VOLUME = valueMAX_OUTSTANDING_IO_PER_VOLUME = value
Gilt für: SQL Server 2014 (12.x)SQL Server 2014 (12.x) bis SQL Server 2017SQL Server 2017.Applies to: SQL Server 2014 (12.x)SQL Server 2014 (12.x) through SQL Server 2017SQL Server 2017.

Legt die maximale Anzahl an E/A-Vorgängen in der Warteschlange pro Datenträgervolume fest.Sets the maximum queued I/O operations per disk volume. Bei diesen E/A-Vorgängen kann es sich um Lese- oder Schreibvorgänge beliebiger Größe handeln.These I/O operations can be reads or writes of any size. Der Maximalwert für MAX_OUTSTANDING_IO_PER_VOLUME ist 100.The maximum value for MAX_OUTSTANDING_IO_PER_VOLUME is 100. Der Wert ist kein Prozentsatz.It is not a percent. Diese Einstellung ist so konzipiert, dass sie die E/A-Ressourcenkontrolle auf die E/A-Eigenschaften eines Datenträgervolumes abstimmt.This setting is designed to tune IO resource governance to the IO characteristics of a disk volume. Es empfiehlt sich, verschiedene Werte auszuprobieren und ggf. ein Kalibrierungstool wie IOMeter, DiskSpd oder SQLIO (veraltet) zu verwenden, um den Maximalwert für das Speichersubsystem festzulegen.We recommend that you experiment with different values and consider using a calibration tool such as IOMeter, DiskSpd, or SQLIO (deprecated) to identify the max value for your storage subsystem. 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.This setting provides a system-level safety check that allows SQL Server to meet the minimum IOPS for resource pools even if other pools have the MAX_IOPS_PER_VOLUME set to unlimited. Weitere Informationen zu MAX_IOPS_PER_VOLUME finden Sie unter CREATE RESOURCE POOL.For more information about MAX_IOPS_PER_VOLUME, see CREATE RESOURCE POOL.

BemerkungenRemarks

ALTER RESOURCE GOVERNOR DISABLE, ALTER RESOURCE GOVERNOR RECONFIGURE und ALTER RESOURCE GOVERNOR RESET STATISTICS können nicht in einer Benutzertransaktion verwendet werden.ALTER RESOURCE GOVERNOR DISABLE, ALTER RESOURCE GOVERNOR RECONFIGURE, and ALTER RESOURCE GOVERNOR RESET STATISTICS cannot be used inside a user transaction.

Der RECONFIGURE-Parameter ist Teil der Syntax von Resource Governor und darf nicht mit RECONFIGURE verwechselt werden, die eine eigene DDL-Anweisung ist.The RECONFIGURE parameter is part of the Resource Governor syntax and should not be confused with RECONFIGURE, which is a separate DDL statement.

Sie sollten mit den Status der Ressourcenkontrolle vertraut sein, bevor Sie DDL-Anweisungen ausführen.We recommend being familiar with Resource Governor states before you execute DDL statements. Weitere Informationen finden Sie unter Resource Governor.For more information, see Resource Governor.

BerechtigungenPermissions

Erfordert die CONTROL SERVER-Berechtigung.Requires CONTROL SERVER permission.

BeispieleExamples

A.A. Starten der RessourcenkontrolleStarting the Resource Governor

Nach der Installation von SQL ServerSQL Server ist die Ressourcenkontrolle zunächst deaktiviert.When SQL ServerSQL Server is first installed Resource Governor is disabled. Im folgenden Beispiel wird die Ressourcenkontrolle gestartet.The following example starts Resource Governor. Sobald die Anweisung ausgeführt wurde, ist die Ressourcenkontrolle gestartet und kann die vordefinierten Arbeitsauslastungsgruppen und Ressourcenpools verwenden.After the statement executes, Resource Governor is running and can use the predefined workload groups and resource pools.

ALTER RESOURCE GOVERNOR RECONFIGURE;  

B.B. Zuweisen neuer Sitzungen zur StandardgruppeAssigning new sessions to the default group

Im folgenden Beispiel werden alle neuen Sitzungen der Standardarbeitsauslastungsgruppe zugewiesen, indem alle vorhandenen Klassifizierungsfunktionen aus der Konfiguration der Ressourcenkontrolle entfernt werden.The following example assigns all new sessions to the default workload group by removing any existing classifier function from the Resource Governor configuration. Wenn keine Funktion als Klassifizierungsfunktion festgelegt ist, werden alle neuen Sitzungen der Standardarbeitsauslastungsgruppe zugewiesen.When no function is designated as a classifier function, all new sessions are assigned to the default workload group. Diese Änderung gilt nur für neue Sitzungen.This change applies to new sessions only. Vorhandene Sitzungen werden nicht beeinflusst.Existing sessions are not affected.

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

C.C. Erstellen und Registrieren einer KlassifizierungsfunktionCreating and registering a classifier function

Im folgenden Beispiel wird die Klassifizierungsfunktion dbo.rgclassifier_v1 erstellt.The following example creates a classifier function named dbo.rgclassifier_v1. Diese Funktion klassifiziert jede neue Sitzung anhand des Benutzer- oder Anwendungsnamens und weist die Sitzungsanforderungen und Abfragen einer bestimmten Arbeitsauslastungsgruppe zu.The function classifies every new session based on either the user name or application name and assigns the session requests and queries to a specific workload group. Sitzungen, die nicht mit dem angegebenen Benutzer- oder Anwendungsnamen übereinstimmen, werden der Standardarbeitsauslastungsgruppe zugewiesen.Sessions that do not map to the specified user or application names are assigned to the default workload group. Anschließend wird die Klassifizierungsfunktion registriert, und die Konfigurationsänderung wird angewendet.The classifier function is then registered and the configuration change is applied.

-- 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.D. Zurücksetzen von StatistikenResetting Statistics

Im folgenden Beispiel wird die gesamte Statistik für Arbeitsauslastungsgruppen und Ressourcenpools zurückgesetzt.The following example resets all workload group and resource pool statistics.

ALTER RESOURCE GOVERNOR RESET STATISTICS;  

E.E. Festlegen der MAX_OUTSTANDING_IO_PER_VOLUME-OptionSetting the MAX_OUTSTANDING_IO_PER_VOLUME option

Im folgenden Beispiel wird die MAX_OUTSTANDING_IO_PER_VOLUME-Option auf 20 festgelegt.The following example set the MAX_OUTSTANDING_IO_PER_VOLUME option to 20.

ALTER RESOURCE GOVERNOR  
WITH (MAX_OUTSTANDING_IO_PER_VOLUME = 20);   

Weitere InformationenSee Also

CREATE RESOURCE POOL (Transact-SQL) CREATE RESOURCE POOL (Transact-SQL)
ALTER RESOURCE POOL (Transact-SQL) ALTER RESOURCE POOL (Transact-SQL)
DROP RESOURCE POOL (Transact-SQL) DROP RESOURCE POOL (Transact-SQL)
CREATE EXTERNAL RESOURCE POOL (Transact-SQL) CREATE EXTERNAL RESOURCE POOL (Transact-SQL)
DROP EXTERNAL RESOURCE POOL (Transact-SQL) DROP EXTERNAL RESOURCE POOL (Transact-SQL)
ALTER EXTERNAL RESOURCE POOL (Transact-SQL) ALTER EXTERNAL RESOURCE POOL (Transact-SQL)
CREATE WORKLOAD GROUP (Transact-SQL) CREATE WORKLOAD GROUP (Transact-SQL)
ALTER WORKLOAD GROUP (Transact-SQL) ALTER WORKLOAD GROUP (Transact-SQL)
DROP WORKLOAD GROUP (Transact-SQL) DROP WORKLOAD GROUP (Transact-SQL)
Resource Governor Resource Governor
sys.dm_resource_governor_workload_groups (Transact-SQL) sys.dm_resource_governor_workload_groups (Transact-SQL)
sys.dm_resource_governor_resource_pools (Transact-SQL)sys.dm_resource_governor_resource_pools (Transact-SQL)