ALTER RESOURCE GOVERNOR (Transact-SQL)
Il comando viene utilizzato per eseguire le azioni seguenti:
Applicare le modifiche di configurazione specificate quando vengono eseguite le istruzioni CREATE|ALTER|DROP WORKLOAD GROUP o CREATE|ALTER|DROP RESOURCE POOL.
Abilitare o disabilitare Resource Governor
Configurare la classificazione per le richieste in arrivo.
Reimpostare le statistiche del pool di risorse e del gruppo del carico di lavoro
Convenzioni della sintassi Transact-SQL
Sintassi
ALTER RESOURCE GOVERNOR
{ DISABLE | RECONFIGURE }
|
WITH ( CLASSIFIER_FUNCTION = { schema_name.function_name | NULL } )
|
RESET STATISTICS
[ ; ]
Argomenti
Nome |
Definizione |
||
DISABLE | RECONFIGURE |
DISABLE disabilita Resource Governor determinando i seguenti risultati:
Se non è abilitato, RECONFIGURE consente di abilitare Resource Governor determinando i seguenti risultati:
Quando Resource Governor è in esecuzione, RECONFIGURE applica ogni modifica di configurazione richiesta durante l'esecuzione delle istruzioni CREATE|ALTER|DROP WORKLOAD GROUP o CREATE|ALTER|DROP RESOURCE POOL.
|
||
CLASSIFIER_FUNCTION = { schema_name.function_name | NULL } |
Registra la funzione di classificazione specificata da schema_name.function_name. La funzione classifica ogni nuova sessione e assegna le richieste e le query della sessione a un gruppo del carico di lavoro. Quando viene utilizzato NULL, le nuove sessioni vengono assegnate automaticamente al gruppo del carico di lavoro predefinito. |
||
RESET STATISTICS |
Reimposta le statistiche dei pool di risorse e dei gruppi del carico di lavoro Per ulteriori informazioni, vedere sys.dm_resource_governor_workload_groups (Transact-SQL) e sys.dm_resource_governor_resource_pools (Transact-SQL). |
Osservazioni
ALTER RESOURCE GOVERNOR DISABLE, ALTER RESOURCE GOVERNOR RECONFIGURE e ALTER RESOURCE GOVERNOR RESET STATISTICS non possono essere utilizzate in una transazione utente.
Il parametro RECONFIGURE appartiene alla sintassi di Resource Governor e non deve essere confuso con RECONFIGURE, che costituisce un'istruzione DDL diversa.
Prima di eseguire istruzioni DDL, è consigliabile acquisire familiarità con gli stati di Resource Governor. Per ulteriori informazioni, vedere Resource Governor.
Autorizzazioni
È richiesta l'autorizzazione CONTROL SERVER.
Esempi
A.Avvio di Resource Governor
Alla prima installazione di SQL Server, Resource Governor risulta disabilitato. Nell'esempio seguente viene avviato Resource Governor. Una volta avviato Resource Governor mediante l'istruzione precedente, sarà possibile utilizzare i gruppi del carico di lavoro e i pool di risorse predefiniti.
ALTER RESOURCE GOVERNOR RECONFIGURE;
B.Assegnazione di nuove sessioni al gruppo predefinito
Nell'esempio seguente vengono assegnate tutte le nuove sessioni al gruppo di carico di lavoro predefinito rimuovendo qualsiasi funzione di classificazione esistente dalla configurazione di Resource Governor. Quando nessuna funzione viene definita come funzione di classificazione, tutte le nuove sessioni vengono assegnate al gruppo del carico di lavoro predefinito. Questa modifica viene applicata solo alle nuove sessioni e non a quelle esistenti.
ALTER RESOURCE GOVERNOR WITH (CLASSIFIER_FUNCTION = NULL);
GO
ALTER RESOURCE GOVERNOR RECONFIGURE;
C.Creazione e registrazione di una funzione di classificazione
Nell'esempio seguente viene creata una funzione di classificazione denominata dbo.rgclassifier_v1. La funzione classifica ogni nuova sessione in base al nome utente o al nome dell'applicazione e assegna le richieste e le query della sessione a un gruppo del carico di lavoro specifico. Le sessioni sulle quali non viene eseguito il mapping ai nomi utente o dell'applicazione specifici vengono assegnate al gruppo del carico di lavoro predefinito. La funzione di classificazione viene quindi registrata e viene applicata la modifica della configurazione.
-- 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.Reimpostazione delle statistiche
Nell'esempio seguente vengono reimpostate tutte le statistiche del gruppo di carico di lavoro e del pool.
ALTER RESOURCE GOVERNOR RESET STATISTICS;
Vedere anche
Riferimento
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)