ALTER RESOURCE GOVERNOR (Transact-SQL)
Si applica a:SQL ServerIstanza gestita di SQL di Azure
Questa istruzione esegue le azioni di Resource Governor seguenti:
- Abilitare o disabilitare Resource Governor.
- Applicare le modifiche di configurazione specificate quando vengono eseguite le istruzioni
CREATE | ALTER | DROP WORKLOAD GROUP
oCREATE | ALTER | DROP RESOURCE POOL
oCREATE | ALTER | DROP EXTERNAL RESOURCE POOL
. - Configurare la classificazione per le sessioni in ingresso.
- Reimpostare le statistiche del pool di risorse e del gruppo del carico di lavoro.
- Impostare il numero massimo di operazioni di I/O in coda per ogni volume del disco.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
ALTER RESOURCE GOVERNOR
{ RECONFIGURE
[ WITH
( [ CLASSIFIER_FUNCTION = { schema_name.function_name | NULL } ]
[ [ , ] MAX_OUTSTANDING_IO_PER_VOLUME = value ]
)
]
| DISABLE
| RESET STATISTICS
}
[ ; ]
Argomenti
RECONFIGURE
Quando Resource Governor non è abilitato, RECONFIGURE
abilita Resource Governor. L'abilitazione di Resource Governor ha i risultati seguenti:
- La funzione di classificazione, se presente, viene eseguita per le nuove sessioni, assegnandole ai gruppi di carico di lavoro.
- Le prenotazioni e i limiti delle risorse specificati nella configurazione di Resource Governor vengono rispettati e applicati.
- Le richieste esistenti prima dell'abilitazione di Resource Governor potrebbero essere interessate da eventuali modifiche alla configurazione apportate quando Resource Governor è abilitato.
Quando Resource Governor è abilitato, RECONFIGURE
applica tutte le modifiche di configurazione apportate dalle istruzioni CREATE | ALTER | DROP WORKLOAD GROUP
o CREATE | ALTER | DROP RESOURCE POOL
o CREATE | ALTER | DROP EXTERNAL RESOURCE POOL
dopo l'uso precedente di RECONFIGURE
o dopo l'ultimo riavvio del motore di database.
Importante
ALTER RESOURCE GOVERNOR RECONFIGURE
deve essere eseguito per rendere effettive le modifiche alla configurazione di Resource Governor.
CLASSIFIER_FUNCTION = { schema_name.function_name | NULL }
Registra la funzione di classificazione specificata da schema_name.function_name. Questa funzione classifica ogni nuova sessione e assegna la sessione a un gruppo di carico di lavoro. Quando si usa NULL
, le nuove sessioni vengono assegnate automaticamente al gruppo di carico di lavoro default
.
MAX_OUTSTANDING_IO_PER_VOLUME = value
Si applica a: SQL Server 2014 (12.x) e versioni successive.
Imposta il numero massimo di operazioni di I/O in coda per ogni volume del disco. Queste operazioni di I/O possono essere letture o scritture di qualsiasi dimensione. Il valore massimo per MAX_OUTSTANDING_IO_PER_VOLUME
è 100. Il valore non è una percentuale. Questa impostazione è progettata per ottimizzare la governance delle risorse rispetto alle caratteristiche di I/O di un volume del disco. Fornisce un controllo di sicurezza a livello di sistema che consente al motore di database di soddisfare l'impostazione di MIN_IOPS_PER_VOLUME
specificata per i pool di risorse anche se per altri pool l'impostazione MAX_IOPS_PER_VOLUME
è impostata su illimitato. Per altre informazioni, vedere CREATE RESOURCE POOL.
DISABLE
Disabilita Resource Governor. La disabilitazione di Resource Governor ha i risultati seguenti:
- La funzione di classificazione non viene eseguita.
- Tutte le nuove sessioni utente vengono classificate automaticamente nel gruppo di carico di lavoro
default
. - Le sessioni di sistema vengono classificate nel gruppo di carico di lavoro
internal
. - Tutte le impostazioni del gruppo del carico di lavoro e del pool di risorse esistenti vengono reimpostate ai valori predefiniti. Non vengono generati eventi quando vengono raggiunti i limiti.
- Il normale monitoraggio del sistema non è interessato.
- È possibile apportare modifiche alla configurazione di Resource Governor, ma le modifiche non diventano effettive fino a quando Resource Governor non è abilitato.
- Dopo il riavvio del motore di database, Resource Governor non carica la configurazione, ma usa solo i gruppi di carico di lavoro
default
einternal
gruppi di carico di lavoro e pool di risorse.
RESET STATISTICS
Reimposta le statistiche su tutti i gruppi di carico di lavoro e i pool di risorse esposti in sys.dm_resource_governor_workload_groups e sys.dm_resource_governor_resource_pools.
Osservazioni:
ALTER RESOURCE GOVERNOR
non può essere usato all'interno di una transazione utente.
Il parametro RECONFIGURE
fa parte della sintassi di Resource Governor. Non deve essere confuso con RECONFIGURE, che è un'istruzione DDL separata.
Per altre informazioni, vedere Resource Governor.
Autorizzazioni
Richiede l'autorizzazione CONTROL SERVER
.
Esempi
Abilitare Resource Governor
Quando SQL Server è installato, Resource Governor è disabilitato. L'esempio seguente abilita Resource Governor. Dopo l'esecuzione dell'istruzione, Resource Governor è abilitato e usa gruppi di carico di lavoro e pool di risorse predefiniti.
ALTER RESOURCE GOVERNOR RECONFIGURE;
Assegnare nuove sessioni al gruppo predefinito
Nell'esempio seguente vengono assegnate tutte le nuove sessioni al gruppo di carico di lavoro default
rimuovendo qualsiasi funzione di classificazione esistente dalla configurazione di Resource Governor. Quando nessuna funzione viene designata come funzione di classificazione, tutte le nuove sessioni utente vengono assegnate al gruppo di carico di lavoro default
. Questa modifica viene applicata solo alle nuove sessioni Le sessioni esistenti non sono interessate.
ALTER RESOURCE GOVERNOR WITH (CLASSIFIER_FUNCTION = NULL);
ALTER RESOURCE GOVERNOR RECONFIGURE;
Creare e registrare una funzione di classificazione
Nell'esempio seguente viene creata una funzione di classificazione denominata dbo.rg_classifier
nel database master
. 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.
USE master;
GO
CREATE FUNCTION dbo.rg_classifier()
RETURNS sysname
WITH SCHEMABINDING
AS
BEGIN
-- Declare the variable for the function return value.
DECLARE @grp_name AS sysname;
-- If the login name is 'sa', classify the session into the groupAdmin workload group
IF (SUSER_NAME() = 'sa')
SET @grp_name = 'groupAdmin';
-- Classify SSMS sessions into the groupAdhoc workload group
ELSE IF UPPER(APP_NAME()) LIKE '%MANAGEMENT STUDIO%'
SET @grp_name = 'groupAdhoc';
-- Classify SSRS sessions into groupReports workload group
ELSE IF UPPER(APP_NAME()) LIKE '%REPORT SERVER%'
SET @grp_name = 'groupReports';
-- Otherwise, classify the session into the default workload group
ELSE
SET @grp_name = 'default';
-- Return the name of the workload group
RETURN @grp_name;
END;
GO
-- Register the classifier function and update resource governor configuration
ALTER RESOURCE GOVERNOR WITH (CLASSIFIER_FUNCTION = dbo.rg_classifier);
ALTER RESOURCE GOVERNOR RECONFIGURE;
Reimpostare le statistiche di Resource Governor
Nell'esempio seguente vengono reimpostate tutte le statistiche del gruppo del carico di lavoro e del pool di risorse.
ALTER RESOURCE GOVERNOR RESET STATISTICS;
Configurare l'impostazione MAX_OUTSTANDING_IO_PER_VOLUME
Nell'esempio seguente l'impostazione MAX_OUTSTANDING_IO_PER_VOLUME
viene impostata su 20 operazioni di I/O.
ALTER RESOURCE GOVERNOR WITH (MAX_OUTSTANDING_IO_PER_VOLUME = 20);
Contenuto correlato
- Resource Governor
- esempi di configurazione di Resource Governor e procedure consigliate
- CREATE RESOURCE POOL
- ALTER RESOURCE POOL
- DROP RESOURCE POOL
- CREATE EXTERNAL RESOURCE POOL
- DROP EXTERNAL RESOURCE POOL
- ALTER EXTERNAL RESOURCE POOL
- CREATE WORKLOAD GROUP
- ALTER WORKLOAD GROUP
- DROP WORKLOAD GROUP
- sys.dm_resource_governor_workload_groups
- sys.dm_resource_governor_resource_pools