ALTER RESOURCE POOL (Transact-SQL)

Modifica una configurazione esistente del pool di risorse di Resource Governor.

Icona di collegamento a un argomento Convenzioni della sintassi Transact-SQL. Introduzione richiesta.

Sintassi

ALTER RESOURCE POOL { pool_name | "default" }
[WITH
     ( [ MIN_CPU_PERCENT = value ]
     [ [ , ] MAX_CPU_PERCENT = value ] 
     [ [ , ] CAP_CPU_PERCENT = value ] 
     [ [ , ] AFFINITY {SCHEDULER = AUTO | (Scheduler_range_spec) | NUMANODE = (NUMA_node_range_spec)}] 
     [ [ , ] MIN_MEMORY_PERCENT = value ]
     [ [ , ] MAX_MEMORY_PERCENT = value ] )
] 
[;]

Scheduler_range_spec::=
{SCHED_ID | SCHED_ID TO SCHED_ID}[,…n]
NUMA_node_range_spec::=
{NUMA_node_ID | NUMA_node_ID TO NUMA_node_ID}[,…n]

Argomenti

  • { pool_name | "default" }
    Nome di un pool di risorse esistente definito dall'utente o del pool di risorse predefinito creato all'installazione di SQL Server 2012.

    Se usato con ALTER RESOURCE POOL, "default" deve essere racchiuso tra virgolette ("") o parentesi quadre ([]) per evitare conflitti con DEFAULT, che è una parola di sistema riservata. Per ulteriori informazioni, vedere Identificatori del database.

    [!NOTA]

    Per i gruppi del carico di lavoro e pool di risorse predefiniti vengono utilizzati sempre nomi scritti in lettere minuscole, ad esempio "default". Questo aspetto deve essere preso in considerazione per i server in cui vengono utilizzate regole di confronto con distinzione tra maiuscole e minuscole. In server con regole di confronto senza distinzione tra maiuscole e minuscole, ad esempio SQL_Latin1_General_CP1_CI_AS, le parole "default" e "Default" vengono considerate uguali.

  • MIN_CPU_PERCENT =value
    Specifica la larghezza di banda media garantita della CPU concessa per tutte le richieste nel pool di risorse, in caso di contesa di CPU. value è di tipo integer e il valore predefinito è 0. L'intervallo consentito per value è compreso tra 0 e 100.

  • MAX_CPU_PERCENT =value
    Specifica la larghezza di banda media massima della CPU ricevuta da tutte le richieste nel pool di risorse in caso di contesa di CPU. value è di tipo integer e il valore predefinito è 100. L'intervallo consentito per value è compreso tra 1 e 100.

  • CAP_CPU_PERCENT =value
    Specifica il limite di utilizzo massimo della larghezza di banda della CPU concesso per tutte le richieste nel pool di risorse. Limita il livello massimo della larghezza di banda della CPU al valore specificato. value è di tipo integer e il valore predefinito è 100. L'intervallo consentito per value è compreso tra 1 e 100.

  • AFFINITY {SCHEDULER = AUTO | (Scheduler_range_spec) | NUMANODE = (NUMA_node_range_spec)}
    Associa il pool di risorse a utilità di pianificazione specifiche. Il valore predefinito è AUTO.

    AFFINITY SCHEDULER = (Scheduler_range_spec) esegue il mapping del pool di risorse alle pianificazioni di SQL Server identificate dagli ID specificati. Questi ID eseguono il mapping ai valori nella colonna scheduler_id di sys.dm_os_schedulers (Transact-SQL).

    Se si utilizza AFFINITY NAMANODE = (NUMA_node_range_spec), viene creata un'affinità tra il pool di risorse e le utilità di pianificazione di SQL Server che eseguono il mapping alle CPU fisiche corrispondenti al nodo o all'intervallo di nodi NUMA specificato. È possibile utilizzare la seguente query Transact-SQL per individuare il mapping tra la configurazione NUMA fisica e gli ID delle utilità di pianificazione di SQL Server.

    SELECT osn.memory_node_id AS [numa_node_id], sc.cpu_id, sc.scheduler_id
    FROM sys.dm_os_nodes AS osn
    INNER JOIN sys.dm_os_schedulers AS sc ON osn.node_id = sc.parent_node_id AND sc.scheduler_id < 1048576
    
  • MIN_MEMORY_PERCENT =value
    Specifica la quantità minima di memoria riservata al pool di risorse non condivisibile con altri pool di risorse. value è di tipo integer e il valore predefinito è 0. L'intervallo consentito per value è compreso tra 0 e 100.

  • MAX_MEMORY_PERCENT =value
    Specifica la memoria totale del server utilizzabile dalle richieste in questo pool di risorse. value è di tipo integer e il valore predefinito è 100. L'intervallo consentito per value è compreso tra 1 e 100.

Osservazioni

MAX_CPU_PERCENT e MAX_MEMORY_PERCENT devono essere maggiori o uguali rispettivamente a MIN_CPU_PERCENT e MIN_MEMORY_PERCENT.

CAP_CPU_PERCENT è diverso da MAX_CPU_PERCENT per il fatto che i carichi di lavoro associati al pool possono utilizzare una capacità della CPU superiore rispetto al valore di MAX_CPU_PERCENT, se disponibile, ma non superiore rispetto al valore di CAP_CPU_PERCENT.

La percentuale totale di CPU per ogni componente per il quale è impostata l'affinità (utilità di pianificazione o nodi NUMA) non deve superare il 100%.

Per l'esecuzione di istruzioni DDL, è consigliabile avere familiarità con gli stati di Resource Governor. Per ulteriori informazioni, vedere Resource Governor.

Autorizzazioni

È richiesta l'autorizzazione CONTROL SERVER.

Esempi

Nell'esempio seguente vengono mantenute tutte le impostazioni predefinite del pool di risorse per il pool default, ad eccezione del valore MAX_CPU_PERCENT, modificato in 25.

ALTER RESOURCE POOL "default"
WITH
     ( MAX_CPU_PERCENT = 25)
GO
ALTER RESOURCE GOVERNOR RECONFIGURE
GO

Nell'esempio seguente per CAP_CPU_PERCENT viene impostato un limite di utilizzo massimo pari all'80%, mentre per AFFINITY SCHEDULER vengono impostati un valore singolo pari a 8 e un intervallo compreso tra 12 e 16.

ALTER RESOURCE POOL Pool25
WITH( 
     MIN_CPU_PERCENT = 5,
     MAX_CPU_PERCENT = 10,     
     CAP_CPU_PERCENT = 80,
     AFFINITY SCHEDULER = (8, 12 TO 16), 
     MIN_MEMORY_PERCENT = 5,
     MAX_MEMORY_PERCENT = 15
);

GO
ALTER RESOURCE GOVERNOR RECONFIGURE
GO

Vedere anche

Riferimento

CREATE RESOURCE POOL (Transact-SQL)

DROP RESOURCE POOL (Transact-SQL)

CREATE WORKLOAD GROUP (Transact-SQL)

ALTER WORKLOAD GROUP (Transact-SQL)

DROP WORKLOAD GROUP (Transact-SQL)

ALTER RESOURCE GOVERNOR (Transact-SQL)

Concetti

Resource Governor