ALTER RESOURCE POOL (Transact-SQL)
Dotyczy:programu SQL ServerAzure SQL Managed Instance
Zmienia istniejący zarządca zasobów konfigurację puli zasobów dla wystąpienia aparatu bazy danych.
Nuta
W przypadku usługi Azure SQL Managed Instance musisz być w kontekście bazy danych master
, aby zmodyfikować konfigurację zarządcy zasobów.
Transact-SQL konwencje składni
Składnia
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 | [domyślne] }
To nazwa istniejącej puli zasobów zdefiniowanej przez użytkownika lub wbudowanej puli zasobów default
.
default
musi znajdować się w nawiasach kwadratowych ([]
) lub cudzysłowie (""
) w przypadku użycia z ALTER RESOURCE POOL
, aby uniknąć konfliktu z DEFAULT
, który jest słowem zarezerwowanym systemu. Aby uzyskać więcej informacji, zobacz Identyfikatory bazy danych.
Wbudowane pule zasobów i grupy obciążeń używają wszystkich małych liter, takich jak default
. Użyj małych liter default
na serwerach korzystających z sortowania z uwzględnieniem wielkości liter. Serwery z sortowaniem bez uwzględniania wielkości liter traktują default
, Default
i DEFAULT
co ta sama wartość.
MIN_CPU_PERCENT = wartość
Określa gwarantowaną średnią przepustowość procesora CPU dla wszystkich żądań w puli zasobów, gdy występuje rywalizacja o procesor CPU. wartość jest liczbą całkowitą z domyślnym ustawieniem 0. Dozwolony zakres wartości wynosi od 0 do 100.
MAX_CPU_PERCENT = wartość
Określa maksymalną średnią przepustowość procesora CPU odbieraną przez wszystkie żądania w puli zasobów w przypadku rywalizacji o procesor CPU. wartość jest liczbą całkowitą z ustawieniem domyślnym 100. Dozwolony zakres wartości wynosi od 1 do 100.
CAP_CPU_PERCENT = wartość
Dotyczy: SQL Server 2012 (11.x) i nowsze.
Określa sztywny limit przepustowości procesora CPU odbierany przez wszystkie żądania w puli zasobów. Ogranicza maksymalny poziom przepustowości procesora CPU, który ma być taki sam jak określona wartość. wartość jest liczbą całkowitą z ustawieniem domyślnym 100. Dozwolony zakres wartości wynosi od 1 do 100.
Nuta
Ze względu na statystyczny charakter ładu procesora CPU można zauważyć okazjonalne krótkie skoki przekraczające wartość określoną w CAP_CPU_PERCENT
.
KOLIGACJA {SCHEDULER = AUTO | ( <scheduler_range_spec> ) | NUMANODE = (<NUMA_node_range_spec>)}
Dotyczy: SQL Server 2012 (11.x) i nowsze.
Dołącz pulę zasobów do określonych harmonogramów. Wartość domyślna to AUTO
.
Określanie <scheduler_range_spec>
dla AFFINITY SCHEDULER
affinitize puli zasobów do harmonogramów aparatu bazy danych zidentyfikowanych przez podane identyfikatory. Te identyfikatory są mapowane na wartości w kolumnie scheduler_id
w sys.dm_os_schedulers.
Określanie <NUMA_node_range_spec>
dla AFFINITY NUMANODE
affinitize puli zasobów do harmonogramów aparatu bazy danych mapujących na logiczne procesory, które odpowiadają danym węzłom NUMA lub zakresowi węzłów. Poniższe zapytanie Transact-SQL umożliwia odnalezienie mapowania między fizyczną konfiguracją NUMA i identyfikatorami harmonogramu aparatu bazy danych.
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 = wartość
Określa minimalną ilość pamięci obszaru roboczego zapytań zarezerwowaną dla puli zasobów, która nie może być współdzielona z innymi pulami zasobów. wartość jest liczbą całkowitą z domyślnym ustawieniem 0. Dozwolony zakres wartości wynosi od 0 do 100.
MAX_MEMORY_PERCENT = wartości
Określa maksymalną ilość pamięci obszaru roboczego zapytań, która może być używana przez żądania w tej puli zasobów. wartość jest liczbą całkowitą z ustawieniem domyślnym 100. Dozwolony zakres wartości wynosi od 1 do 100.
MIN_IOPS_PER_VOLUME = wartość
Dotyczy: SQL Server 2014 (12.x) i nowszych.
Określa minimalną liczbę operacji we/wy na sekundę (IOPS) na wolumin dysku do zarezerwowania dla puli zasobów. Dozwolony zakres wartości wynosi od 0 do 2^31–1 (2 147 483 647). Określ wartość 0, aby wskazać wartość minimalną dla puli. Wartość domyślna to 0.
MAX_IOPS_PER_VOLUME = wartość
Dotyczy: SQL Server 2014 (12.x) i nowszych.
Określa maksymalną liczbę operacji we/wy na sekundę (IOPS) na wolumin dysku, aby zezwolić na pulę zasobów. Dozwolony zakres wartości wynosi od 0 do 2^31–1 (2 147 483 647). Określ wartość 0, aby usunąć limit liczby operacji we/wy na sekundę dla puli. Wartość domyślna to 0.
Jeśli MAX_IOPS_PER_VOLUME
dla puli ma wartość 0, pula nie jest w ogóle zarządzana operacjami we/wy i może przyjmować wszystkie operacje we/wy w systemie, nawet jeśli inne pule mają ustawioną MIN_IOPS_PER_VOLUME
. W tym przypadku zalecamy ustawienie wartości MAX_IOPS_PER_VOLUME
dla tej puli na dużą liczbę (na przykład wartość maksymalną 2^31–1), aby ta pula zarządzała operacjami we/wy i uwzględniała rezerwacje operacji we/wy na sekundę, które mogą istnieć dla innych pul.
Uwagi
Suma MIN_CPU_PERCENT
lub MIN_MEMORY_PERCENT
dla wszystkich pul zasobów nie może przekroczyć 100 procent.
MIN_IOPS_PER_VOLUME
i MAX_IOPS_PER_VOLUME
określ minimalną i maksymalną liczbę operacji we/wy na sekundę. Operacje we/wy mogą być odczytywane lub zapisywane i mogą mieć dowolny rozmiar. W związku z tym w przypadku tych samych limitów liczby operacji we/wy na sekundę minimalna i maksymalna przepływność operacji we/wy mogą się różnić w zależności od kombinacji rozmiarów operacji we/wy w obciążeniu.
Wartości MAX_CPU_PERCENT
i MAX_MEMORY_PERCENT
muszą być większe lub równe wartościom odpowiednio MIN_CPU_PERCENT
i MIN_MEMORY_PERCENT
.
CAP_CPU_PERCENT
różni się od MAX_CPU_PERCENT
, że obciążenia skojarzone z pulą mogą używać pojemności procesora CPU powyżej wartości MAX_CPU_PERCENT
, jeśli jest dostępna, ale nie powyżej wartości CAP_CPU_PERCENT
. Chociaż mogą wystąpić krótkie skoki wyższe niż CAP_CPU_PERCENT
, obciążenia nie mogą przekraczać CAP_CPU_PERCENT
przez dłuższy czas, nawet jeśli jest dostępna dodatkowa pojemność procesora CPU.
Łączna wartość procentowa procesora CPU dla każdego składnika affinitized (harmonogramów lub węzłów NUMA) nie może przekroczyć 100 procent.
Aby uzyskać więcej informacji, zobacz Zarządca zasobów i pula zasobów zarządcy zasobów .
Buforowane plany
Po zmianie ustawienia mającego wpływ na plan nowe ustawienie zostanie zastosowane w poprzednio buforowanych planach dopiero po wykonaniu DBCC FREEPROCCACHE (<pool_name>)
, gdzie <pool_name>
jest nazwą puli zasobów zarządcy zasobów.
- Jeśli zmieniasz
AFFINITY
z wielu harmonogramów na jeden harmonogram, wykonywanieDBCC FREEPROCCACHE
nie jest wymagane, ponieważ plany równoległe mogą być uruchamiane w trybie szeregowym. Jednak taki plan może być mniej wydajny niż plan skompilowany jako plan seryjny. - Jeśli zmieniasz
AFFINITY
z jednego harmonogramu na wiele harmonogramów, wykonywanieDBCC FREEPROCCACHE
nie jest wymagane. Jednak plany szeregowe nie mogą działać równolegle, dlatego wyczyszczenie odpowiedniej pamięci podręcznej umożliwia potencjalnie skompilowanie nowych planów przy użyciu równoległości.
Ostrzeżenie
Wyczyszczenie buforowanych planów z puli zasobów skojarzonej z więcej niż jedną grupą obciążeń wpływa na wszystkie grupy obciążeń przy użyciu puli zasobów zdefiniowanej przez użytkownika zidentyfikowanej przez <pool_name>
.
Uprawnienia
Wymaga uprawnienia CONTROL SERVER
.
Przykłady
Poniższy przykład przechowuje wszystkie bieżące ustawienia puli zasobów dla puli default
, z wyjątkiem MAX_CPU_PERCENT
, która została zmieniona na 25 procent.
ALTER RESOURCE POOL [default] WITH (MAX_CPU_PERCENT = 25);
ALTER RESOURCE GOVERNOR RECONFIGURE;
Poniższy przykład modyfikuje pulę zasobów adhocPool
w następujący sposób:
- Rezerwuje odpowiednio 10 procent procesora CPU i 5 procent pamięci obszaru roboczego zapytań przy użyciu
MIN_CPU_PERCENT
iMIN_MEMORY_PERCENT
. - Ustawia limit pamięci obszaru roboczego zapytań o 15 procent przy użyciu
MAX_MEMORY_PERCENT
. - Ustawia 20 procent miękkiego limitu procesora CPU na 30 procent twardego limitu procesora przy użyciu odpowiednio
MAX_CPU_PERCENT
iCAP_CPU_PERCENT
. - Affinitize pulę do dwóch zakresów logicznych procesorów CPU (od 0 do 63 i 128 do 191) przy użyciu
AFFINITY SCHEDULER
.
Dotyczy: SQL Server 2012 (11.x) i nowsze.
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;