CREATE RESOURCE POOL (Transact-SQL)

Crea un pool di risorse di Resource Governor. Resource Governor non è disponibile in tutte le edizioni di Microsoft SQL Server. Per un elenco delle funzionalità supportate dalle edizioni di SQL Server, vedere Funzionalità supportate dalle edizioni di SQL Server 2012.

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

Sintassi

CREATE RESOURCE POOL pool_name
[ 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
    Nome definito dall'utente per il pool di risorse. pool_name è un valore alfanumerico, può essere composto da un massimo di 128 caratteri, deve essere univoco all'interno di un'istanza di SQL Server e deve essere conforme alle regole relative agli identificatori.

  • 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 concessa per 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

I valori di MAX_CPU_PERCENT e MAX_MEMORY_PERCENT devono essere maggiori o uguali ai valori di MIN_CPU_PERCENT e MIN_MEMORY_PERCENT, rispettivamente.

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%.

Autorizzazioni

È richiesta l'autorizzazione CONTROL SERVER.

Esempi

Nell'esempio seguente viene illustrato come creare un pool di risorse denominato bigPool. Il pool utilizza le impostazioni predefinite di Resource Governor.

CREATE RESOURCE POOL bigPool;
GO
ALTER RESOURCE GOVERNOR RECONFIGURE;
GO

Nell'esempio seguente per CAP_CPU_PERCENT viene impostato un limite di utilizzo massimo pari al 30%, mentre per AFFINITY SCHEDULER viene impostato un intervallo compreso tra 0 e 63 e tra 128 e 191.

CREATE RESOURCE POOL PoolAdmin
WITH (
     MIN_CPU_PERCENT = 10,
     MAX_CPU_PERCENT = 20,
     CAP_CPU_PERCENT = 30,
     AFFINITY SCHEDULER = (0 TO 63, 128 TO 191),
     MIN_MEMORY_PERCENT = 5,
     MAX_MEMORY_PERCENT = 15);

Osservazioni

La funzionalità Resource Governor consente a un amministratore di database di distribuire risorse del server fra un massimo di 64 pool di risorse.

Vedere anche

Riferimento

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)

ALTER RESOURCE GOVERNOR (Transact-SQL)