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
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:
Wenn die Ressourcenkontrolle nicht aktiviert ist, aktiviert RECONFIGURE die Ressourcenkontrolle. Wenn Sie die Ressourcenkontrolle aktivieren, geschieht Folgendes:
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.
Wichtig
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;
Siehe auch