CREATE RESOURCE POOL (Transact-SQL)
platí pro:SQL Serverazure SQL Managed Instance
Vytvoří správce zdrojů fondu zdrojů. Fond zdrojů představuje podmnožinu fyzických prostředků (procesor, paměť a V/V) instance databázového stroje. Správce zdrojů umožňuje rezervovat nebo omezit prostředky serveru mezi fondy zdrojů až do maximálního počtu 64 fondů.
Správce prostředků není k dispozici v každé edici SQL Serveru. Seznam funkcí podporovaných edicemi SQL Serveru najdete v tématu Edice a podporované funkce systému SQL Server 2022.
Poznámka
Pro službu Azure SQL Managed Instance musíte být v kontextu master
databáze, abyste mohli upravit konfiguraci správce prostředků.
Syntax
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 ]
[ [ , ] MIN_IOPS_PER_VOLUME = value ]
[ [ , ] MAX_IOPS_PER_VOLUME = 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]
Argumenty
pool_name
Je uživatelem definovaný název fondu zdrojů. pool_name je alfanumerické, může mít maximálně 128 znaků, musí být jedinečné v rámci instance databázového stroje a musí splňovat pravidla pro identifikátory databáze .
MIN_CPU_PERCENT = hodnota
Určuje zaručenou průměrnou šířku pásma procesoru pro všechny požadavky ve fondu prostředků, pokud dojde k kolizí procesoru. hodnota je celé číslo s výchozím nastavením 0. Povolený rozsah pro hodnotu je od 0 do 100.
MAX_CPU_PERCENT = hodnota
Určuje maximální průměrnou šířku pásma procesoru, kterou obdrží všechny požadavky ve fondu prostředků, když dojde k kolizí procesoru. hodnota je celé číslo s výchozím nastavením 100. Povolený rozsah pro hodnotu je od 1 do 100.
CAP_CPU_PERCENT = hodnota
platí pro: SQL Server 2012 (11.x) a novější.
Určuje pevný limit šířky pásma procesoru, který obdrží všechny požadavky ve fondu prostředků. Omezuje maximální úroveň šířky pásma procesoru na stejnou jako zadaná hodnota. hodnota je celé číslo s výchozím nastavením 100. Povolený rozsah pro hodnotu je od 1 do 100.
Poznámka
Vzhledem ke statistické povaze zásad správného řízení procesoru můžete zaznamenat občasné krátké špičky překračující hodnotu zadanou v CAP_CPU_PERCENT
.
SPŘAŽENÍ {SCHEDULER = AUTO | ( <scheduler_range_spec> ) | NUMANODE = (<NUMA_node_range_spec>)}
platí pro: SQL Server 2012 (11.x) a novější.
Připojte fond zdrojů ke konkrétním plánovačům. Výchozí hodnota je AUTO
.
Zadáním <scheduler_range_spec>
pro AFFINITY SCHEDULER
spřažení fondu zdrojů s plánovači databázového stroje identifikované danými ID. Tato ID se mapují na hodnoty ve sloupci scheduler_id
v sys.dm_os_schedulers.
Určení <NUMA_node_range_spec>
pro AFFINITY NUMANODE
spřažení fondu zdrojů s plánovači databázového stroje, které se mapují na logické procesory, které odpovídají danému uzlu NUMA nebo rozsahu uzlů. Pomocí následujícího dotazu Transact-SQL můžete zjistit mapování mezi fyzickou konfigurací NUMA a ID plánovače databázového stroje.
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 = hodnota
Určuje minimální velikost paměti pracovního prostoru dotazu vyhrazenou pro fond zdrojů, který nelze sdílet s jinými fondy zdrojů. hodnota je celé číslo s výchozím nastavením 0. Povolený rozsah pro hodnotu je od 0 do 100.
MAX_MEMORY_PERCENT = hodnota
Určuje maximální velikost paměti pracovního prostoru dotazu, kterou můžou použít požadavky v tomto fondu zdrojů. hodnota je celé číslo s výchozím nastavením 100. Povolený rozsah pro hodnotu je od 1 do 100.
MIN_IOPS_PER_VOLUME = hodnota
platí pro: SQL Server 2014 (12.x) a novější.
Určuje minimální vstupně-výstupní operace za sekundu (IOPS) na diskový svazek, který se má rezervovat pro fond zdrojů. Povolený rozsah pro hodnotu je od 0 do 2^31-1 (2 147 483 647). Zadejte hodnotu 0, která značí žádné minimum pro fond. Výchozí hodnota je 0.
MAX_IOPS_PER_VOLUME = hodnota
platí pro: SQL Server 2014 (12.x) a novější.
Určuje maximální počet vstupně-výstupních operací za sekundu (IOPS) na diskový svazek, který umožňuje fond zdrojů. Povolený rozsah pro hodnotu je od 0 do 2^31-1 (2 147 483 647). Zadáním hodnoty 0 odeberete limit vstupně-výstupních operací za sekundu pro fond. Výchozí hodnota je 0.
Pokud je MAX_IOPS_PER_VOLUME
pro fond nastavený na hodnotu 0, fond se vůbec neřídí vstupně-výstupními operacemi a může vzít všechny IOPS v systému i v případě, že ostatní fondy mají nastavenou MIN_IOPS_PER_VOLUME
. V tomto případě doporučujeme nastavit hodnotu MAX_IOPS_PER_VOLUME
pro tento fond na vysoké číslo (například maximální hodnota 2^31-1), aby se tento fond mohl řídit vstupně-výstupními operacemi fondu a respektovat rezervace IOPS, které mohou existovat pro jiné fondy.
Poznámky
Součet MIN_CPU_PERCENT
nebo MIN_MEMORY_PERCENT
pro všechny fondy zdrojů nesmí překročit 100 procent.
MIN_IOPS_PER_VOLUME
a MAX_IOPS_PER_VOLUME
zadejte minimální a maximální počet vstupně-výstupních operací za sekundu. IO můžou být buď čtení, nebo zápisy a můžou mít libovolnou velikost. Díky stejným omezením IOPS se proto minimální a maximální propustnost vstupně-výstupních operací může lišit v závislosti na kombinaci velikostí vstupně-výstupních operací v úloze.
Hodnoty pro MAX_CPU_PERCENT
a MAX_MEMORY_PERCENT
musí být větší nebo rovny hodnotám pro MIN_CPU_PERCENT
a MIN_MEMORY_PERCENT
.
CAP_CPU_PERCENT
se liší od MAX_CPU_PERCENT
v tom, že úlohy přidružené k fondu mohou využívat kapacitu procesoru nad hodnotou MAX_CPU_PERCENT
, pokud je dostupná, ale ne nad hodnotou CAP_CPU_PERCENT
. I když můžou být krátké špičky vyšší než CAP_CPU_PERCENT
, úlohy nemohou překročit CAP_CPU_PERCENT
po delší dobu, i když je k dispozici další kapacita procesoru.
Celkové procento procesoru pro každou spřažení komponent (plánovačů nebo uzlů NUMA) nesmí překročit 100 procent.
Další informace najdete v tématu správce prostředků a fond zdrojů správce zdrojů.
Dovolení
Vyžaduje oprávnění CONTROL SERVER
.
Příklady
Další příklady konfigurace správce prostředků najdete v tématu Příklady konfigurace správce prostředků a osvědčené postupy.
Vytvoření fondu zdrojů
Tento příklad vytvořil fond zdrojů s názvem bigPool
. Tento fond používá výchozí nastavení správce prostředků.
CREATE RESOURCE POOL bigPool;
ALTER RESOURCE GOVERNOR RECONFIGURE;
Nastavení rezervací a limitů procesoru a paměti
Tento příklad nakonfiguruje fond zdrojů adhocPool
následujícím způsobem:
- Zarezervuje 10 procent procesoru a 5 procent paměti pracovního prostoru dotazů pomocí
MIN_CPU_PERCENT
aMIN_MEMORY_PERCENT
v uvedeném pořadí. - Nastaví 15procentní limit paměti pracovního prostoru dotazu pomocí
MAX_MEMORY_PERCENT
. - Nastaví 20 % měkkého limitu procesoru a 30 % maximálního využití procesoru pomocí
MAX_CPU_PERCENT
aCAP_CPU_PERCENT
. - Spřažení fondu se dvěma rozsahy logických procesorů (0 až 63 a 128 až 191) pomocí
AFFINITY SCHEDULER
.
platí pro: SQL Server 2012 (11.x) a novější.
CREATE RESOURCE POOL adhocPool
WITH (
MIN_CPU_PERCENT = 10,
MAX_CPU_PERCENT = 20,
CAP_CPU_PERCENT = 30,
MIN_MEMORY_PERCENT = 5,
MAX_MEMORY_PERCENT = 15,
AFFINITY SCHEDULER = (0 TO 63, 128 TO 191)
);
Nastavení rezervace a limitu IOPS
Tento příklad rezervuje 200 IOPS na svazek pro fond pomocí MIN_IOPS_PER_VOLUME
a omezuje počet IOPS na svazek na 1000 pomocí MAX_IOPS_PER_VOLUME
. Tyto hodnoty určují celkové fyzické vstupně-výstupní operace čtení a zápisu, které jsou k dispozici pro požadavky využívající fond zdrojů.
platí pro: SQL Server 2014 (12.x) a novější.
CREATE RESOURCE POOL PoolAdmin
WITH (
MIN_IOPS_PER_VOLUME = 200,
MAX_IOPS_PER_VOLUME = 1000
);
Související obsah
- Kurz : Příklady konfigurace správce prostředků a osvědčené postupy
- správce prostředků
- fond zdrojů správce zdrojů
- Vytvoření fondu zdrojů
- ALTER RESOURCE POOL
- fondu zdrojů
- VYTVOŘENÍ skupiny úloh
- ALTER WORKLOAD GROUP
-
DROP WORKLOAD GROUP - ALTER RESOURCE GOVERNOR