Sdílet prostřednictvím


ALTER RESOURCE POOL (Transact-SQL)

platí pro:SQL Serverazure SQL Managed Instance

Změní existujícího správce prostředků konfiguraci fondu zdrojů pro instanci databázového stroje.

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

Transact-SQL konvence syntaxe

Syntax

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 ]
    [ [ , ] 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 | [výchozí] }

Je název existujícího uživatelem definovaného fondu zdrojů nebo integrovaného fondu zdrojů default.

default musí být v hranatých závorkách ([]) nebo uvozovkách ("") při použití s ALTER RESOURCE POOL, aby nedocházelo ke konfliktu s DEFAULT, což je rezervované slovo systému. Další informace naleznete v tématu Identifikátory databáze.

Předdefinované fondy zdrojů a skupiny úloh používají všechna malá písmena, například default. Používejte malá písmena default na serverech, které používají kolaci s rozlišováním velkých a malých písmen. Servery bez rozlišování velkých a malých písmen zachází s default, Defaulta DEFAULT se stejnou hodnotou.

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

Plány uložené v mezipaměti

Když změníte plán ovlivňující nastavení, projeví se nové nastavení v dříve uložených plánech v mezipaměti až po provedení DBCC FREEPROCCACHE (<pool_name>), kde <pool_name> je název fondu zdrojů správce zdrojů.

  • Pokud měníte AFFINITY z více plánovačů na jeden plánovač, provádění DBCC FREEPROCCACHE se nevyžaduje, protože paralelní plány se můžou spouštět v sériovém režimu. Takový plán však může být méně efektivní než plán zkompilovaný jako sériový plán.
  • Pokud měníte AFFINITY z jednoho plánovače na více plánovačů, provádění DBCC FREEPROCCACHE se nevyžaduje. Sériové plány se ale nedají spustit paralelně, takže vymazání příslušné mezipaměti umožňuje, aby se nové plány potenciálně zkompilovaly pomocí paralelismu.

Varování

Vymazání plánů uložených v mezipaměti z fondu zdrojů, který je přidružený k více než jedné skupině úloh, ovlivní všechny skupiny úloh pomocí uživatelem definovaného fondu zdrojů identifikovaných <pool_name>.

Dovolení

Vyžaduje oprávnění CONTROL SERVER.

Příklady

Následující příklad uchovává všechna aktuální nastavení fondu zdrojů pro fond default s výjimkou MAX_CPU_PERCENT, který se změní na 25 %.

ALTER RESOURCE POOL [default] WITH (MAX_CPU_PERCENT = 25);

ALTER RESOURCE GOVERNOR RECONFIGURE;

Následující příklad upraví 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 a MIN_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 a CAP_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ší.

ALTER 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)
     );

ALTER RESOURCE GOVERNOR RECONFIGURE;