Olvasás angol nyelven

Megosztás a következőn keresztül:


ALTER RESOURCE POOL (Transact-SQL)

A következőkre vonatkozik:SQL ServerFelügyelt Azure SQL-példány

Módosít egy meglévő erőforrás-vezérlőt adatbázismotor-példány erőforráskészlet-konfigurációját.

Megjegyzés

Felügyelt Azure SQL-példány esetén az erőforrás-vezérlő konfigurációjának módosításához a master adatbázis környezetében kell lennie.

Transact-SQL szintaxis konvenciói

Szintaxis

syntaxsql
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]

Érvek

{ pool_name | [alapértelmezett] }

Egy meglévő felhasználó által definiált erőforráskészlet vagy a beépített default erőforráskészlet neve.

default zárójelben ([]) vagy idézőjelben ("") kell lennie, ha ALTER RESOURCE POOL használ, hogy elkerülje a DEFAULTvaló ütközést, amely egy rendszer által fenntartott szó. További információ: Adatbázis-azonosítók.

A beépített erőforráskészletek és számítási feladatok minden kisbetűs nevet használnak, például default. Használja a kisbetűs default a kis- és nagybetűk megkülönböztetésével rendelkező kiszolgálókon. A kis- és nagybetűket nem érzékelyítő rendezéssel rendelkező kiszolgálók default, Defaultés DEFAULT azonos értékként kezelik.

MIN_CPU_PERCENT = érték

Megadja az erőforráskészletben lévő összes kérés garantált átlagos PROCESSZOR-sávszélességét, amikor processzor-versengés történik. érték egy 0 alapértelmezett beállítású egész szám. Az érték megengedett tartománya 0 és 100 között lehet.

MAX_CPU_PERCENT = érték

Megadja, hogy az erőforráskészlet összes kérése maximális átlagos processzorhasználati sávszélességet kap-e, amikor cpu-versengés történik. érték egy 100 alapértelmezett beállítású egész szám. Az érték megengedett tartománya 1 és 100 között lehet.

CAP_CPU_PERCENT = érték

A következővonatkozik: SQL Server 2012 (11.x) és újabb.

Meghatározza az erőforráskészlet összes kérése által fogadott cpu-sávszélesség kemény korlátját. A maximális cpu-sávszélesség-szint a megadott értékkel megegyezőre korlátozza. érték egy 100 alapértelmezett beállítású egész szám. Az érték megengedett tartománya 1 és 100 között lehet.

Megjegyzés

A CPU-szabályozás statisztikai jellege miatt előfordulhat, hogy a CAP_CPU_PERCENT.

AFFINITÁS {SCHEDULER = AUTO | ( <scheduler_range_spec> ) | NUMANODE = (<NUMA_node_range_spec>)}

A következővonatkozik: SQL Server 2012 (11.x) és újabb.

Csatolja az erőforráskészletet adott ütemezőkhöz. Az alapértelmezett érték a AUTO.

A AFFINITY SCHEDULER<scheduler_range_spec> megadása affinitja az erőforráskészletet a megadott azonosítók által azonosított adatbázismotor-ütemezőkhöz. Ezek az azonosítók a sys.dm_os_schedulersscheduler_id oszlopában lévő értékekhez vannak megfeleltetve.

A AFFINITY NUMANODE<NUMA_node_range_spec> megadásával az erőforráskészletet az adatbázismotor ütemezőihez rendeli, amelyek az adott NUMA-csomópontnak vagy csomóponttartománynak megfelelő logikai CPU-khoz lesznek megfeleltetve. Az alábbi Transact-SQL lekérdezés segítségével felderítheti a fizikai NUMA-konfiguráció és az adatbázismotor ütemezőazonosítói közötti megfeleltetést.

SQL
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 = érték

Megadja az erőforráskészlet számára fenntartott lekérdezési munkaterület minimális memóriáját, amely nem osztható meg más erőforráskészletekkel. érték egy 0 alapértelmezett beállítású egész szám. A érték megengedett tartománya 0 és 100 között van.

MAX_MEMORY_PERCENT = érték

Megadja, hogy az erőforráskészletben lévő kérések maximálisan mennyi lekérdezési munkaterület memóriát használhatnak. érték egy 100 alapértelmezett beállítású egész szám. Az érték megengedett tartománya 1 és 100 között lehet.

MIN_IOPS_PER_VOLUME = érték

A következővonatkozik: SQL Server 2014 (12.x) és újabb.

Megadja az erőforráskészlethez lefoglalandó lemezkötetenkénti minimális I/O-műveleteket (IOPS). Az érték megengedett tartománya 0 és 2^31–1 között van (2 147 483 647). Adjon meg 0 értéket a készlet minimális számának megadásához. Az alapértelmezett érték 0.

MAX_IOPS_PER_VOLUME = érték

A következővonatkozik: SQL Server 2014 (12.x) és újabb.

Megadja az erőforráskészlet engedélyezéséhez másodpercenkénti maximális I/O-műveleteket (IOPS) lemezkötetenként. Az érték megengedett tartománya 0 és 2^31–1 között van (2 147 483 647). A készlet IOPS-korlátjának eltávolításához adja meg a 0 értéket. Az alapértelmezett érték 0.

Ha egy készlet MAX_IOPS_PER_VOLUME 0 értékre van állítva, a készlet egyáltalán nem IO-szabályozás alatt áll, és akkor is elviheti a rendszerben lévő összes IOPS-t, ha más készletek MIN_IOPS_PER_VOLUME vannak beállítva. Ebben az esetben azt javasoljuk, hogy állítsa a készlet MAX_IOPS_PER_VOLUME értékét magas számra (például a maximális 2^31-1 értékre), hogy ez a készlet IO-szabályozással legyen szabályozva, és hogy tiszteletben tarthassa a többi készlet esetében esetleg meglévő IOPS-foglalásokat.

Megjegyzések

Az összes erőforráskészlethez tartozó MIN_CPU_PERCENT vagy MIN_MEMORY_PERCENT összege nem haladhatja meg a 100%-ot.

MIN_IOPS_PER_VOLUME és MAX_IOPS_PER_VOLUME adja meg a másodpercenkénti minimális és maximális I/O-t. Az I/O-k lehetnek olvasások vagy írások, és bármilyen méretűek lehetnek. Ezért ugyanazokkal az IOPS-korlátokkal a minimális és maximális I/O-átviteli sebesség a számítási feladat I/O-méreteinek keverékétől függően változhat.

A MAX_CPU_PERCENT és a MAX_MEMORY_PERCENT értékeinek nagyobbnak vagy egyenlőnek kell lenniük a MIN_CPU_PERCENT és MIN_MEMORY_PERCENTértékeinél.

CAP_CPU_PERCENT abban különbözik MAX_CPU_PERCENT, hogy a készlethez társított számítási feladatok a rendelkezésre álló MAX_CPU_PERCENT értéknél nagyobb processzorkapacitást használhatnak, de nem a CAP_CPU_PERCENTértéke felett. Bár előfordulhat, hogy a CAP_CPU_PERCENT-nél rövidebb kiugró csúcsok is előfordulhatnak, a számítási feladatok hosszabb ideig nem haladhatják meg a CAP_CPU_PERCENT, még akkor sem, ha további processzorkapacitás áll rendelkezésre.

Az egyes affinitásos összetevők (ütemező(k) vagy NUMA-csomópont(ok)) teljes processzorszázaléka nem haladhatja meg a 100 százalékot.

További információ: Erőforrás-kormányzó és Erőforrás-vezérlő erőforráskészlet.

Gyorsítótárazott csomagok

Ha módosít egy beállítást befolyásoló tervet, az új beállítás csak a DBCC FREEPROCCACHE (<pool_name>)végrehajtása után lép érvénybe a korábban gyorsítótárazott csomagokban, ahol <pool_name> egy erőforrás-vezérlő erőforráskészletének neve.

  • Ha AFFINITY több ütemezőről egyetlen ütemezőre módosítja, a DBCC FREEPROCCACHE végrehajtása nem szükséges, mert a párhuzamos csomagok soros módban is futtathatók. Előfordulhat azonban, hogy egy ilyen terv kevésbé hatékony, mint egy sorozattervként összeállított terv.
  • Ha AFFINITY egyetlen ütemezőről több ütemezőre módosítja, a DBCC FREEPROCCACHE végrehajtása nem szükséges. A soros tervek azonban nem futtathatók párhuzamosan, ezért a megfelelő gyorsítótár törlése lehetővé teszi, hogy az új tervek párhuzamossággal legyenek lefordítva.

Figyelmeztetés

Ha egynél több számítási feladatcsoporthoz társított erőforráskészletből törli a gyorsítótárazott terveket, az a <pool_name>által azonosított felhasználó által definiált erőforráskészletet használó összes számítási feladatcsoportot érinti.

Engedélyek

A CONTROL SERVER engedélyre van szükség.

Példák

Az alábbi példa a default készlet összes aktuális erőforráskészlet-beállítását megőrzi, kivéve a MAX_CPU_PERCENT, amely 25%-ra módosul.

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

ALTER RESOURCE GOVERNOR RECONFIGURE;

Az alábbi példa az alábbi módon módosítja a adhocPool erőforráskészletet:

  • A processzor 10 százalékát, a lekérdezési munkaterület memóriájának 5 százalékát lefoglalja MIN_CPU_PERCENT és MIN_MEMORY_PERCENT használatával.
  • 15 százalékos lekérdezési munkaterület memóriakorlátját állítja be a MAX_MEMORY_PERCENThasználatával.
  • 20 százalékos puha CPU-korlátot állít be 30 százalékos kemény cpu-korláttal MAX_CPU_PERCENT és CAP_CPU_PERCENT használatával.
  • A készletet két logikai CPU-tartományhoz (0–63 és 128–191) affinitja AFFINITY SCHEDULERhasználatával.

A következővonatkozik: SQL Server 2012 (11.x) és újabb.

SQL
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;