ALTER RESOURCE POOL (Transact-SQL)

 

DIESES THEMA GILT FÜR:jaSQL Server (ab 2008)neinAzure SQL-DatenbankneinAzure SQL Data Warehouse neinParallel Data Warehouse

Ändert eine vorhandene Ressourcenpoolkonfiguration der Ressourcenkontrolle in SQL Server.

Topic link icon Transact-SQL-Syntaxkonventionen.

  
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]  

{ Pool_name | "Default" }
Der Name eines vorhandenen benutzerdefinierten Ressourcenpools oder der Standardressourcenpool, der bei der Installation von SQL Server erstellt wird.

"default" muss bei Verwendung mit ALTER RESOURCE POOL in Anführungszeichen ("") oder Klammern ([]) eingeschlossen werden, um einen Konflikt mit DEFAULT zu vermeiden, das ein vom System reserviertes Wort darstellt. Weitere Informationen finden Sie unter Datenbankbezeichner.

System_CAPS_ICON_note.jpg Hinweis


Verwenden vordefinierte Arbeitsauslastungsgruppen und Ressourcenpools werden ausschließlich Kleinbuchstabe Namen, z. B. "Default". Dies sollte bei Servern beachtet werden, die bei der Sortierung zwischen Groß-/Kleinschreibung unterscheiden. Server, die bei der Sortierung keine Groß- und Kleinschreibung unterscheiden, z. B. SQL_Latin1_General_CP1_CI_AS, behandeln "default" und "Default" gleich.

MIN_CPU_PERCENT =Wert
Gibt die garantierte durchschnittliche CPU-Bandbreite für alle Anforderungen im Ressourcenpool an, wenn CPU-Konflikte bestehen. Wert ist eine ganze Zahl mit einem Standardwert von 0. Der zulässige Bereich für Wert liegt zwischen 0 und 100.

MAX_CPU_PERCENT =Wert
Gibt die maximale durchschnittliche CPU-Bandbreite an, die allen Anforderungen im Ressourcenpool zugewiesen wird, wenn CPU-Konflikte bestehen. Wert ist eine ganze Zahl mit einem Standardwert von 100. Der zulässige Bereich für Wert liegt zwischen 1 und 100.

CAP_CPU_PERCENT =Wert

Gilt für: SQL Server 2012 bis SQL Server 2016.

Gibt die Ziel maximale CPU-Kapazität für Anforderungen im Ressourcenpool an. Wert ist eine ganze Zahl mit einem Standardwert von 100. Der zulässige Bereich für Wert liegt zwischen 1 und 100.

System_CAPS_ICON_note.jpg Hinweis


Aufgrund der statistischen Eigenschaften der CPU-Governance bemerken Sie möglicherweise gelegentliche Spitzen im CAP_CPU_PERCENT angegebenen Wert überschreitet.

AFFINITY {SCHEDULER = AUTO | (Scheduler_range_spec) | NUMANODE = (NUMA_node_range_spec)}

Gilt für: SQL Server 2012 bis SQL Server 2016.

Fügt den Ressourcenpool an bestimmte Zeitplanungsmodule an. Der Standardwert ist AUTO.

AFFINITY SCHEDULER = (Scheduler_range_spec) ordnet den Ressourcenpool den von den angegebenen IDs identifizierten SQL Server-Zeitplänen zu. Diese IDs zugeordnet werden, um die Werte in der Scheduler_id-Spalte in DM_OS_SCHEDULERS ( Transact-SQL ).

Wenn Sie AFFINITY NAMANODE = (NUMA_node_range_spec) verwenden, wird der Ressourcenpool den SQL Server-Zeitplanungsmodulen zugeordnet, die den physischen CPUs zugeordnet werden, die dem angegebenen NUMA-Knoten oder -Knotenbereich entsprechen. Sie können die Zuordnung zwischen der physischen NUMA-Konfiguration und den SQL Server-Zeitplanungsmodul-IDs mithilfe der folgenden Transact-SQL-Abfrage ermitteln.

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 =Wert
Gibt den Mindestarbeitsspeicher an, der für diesen Ressourcenpool reserviert ist und nicht gemeinsam mit anderen Ressourcenpools verwendet werden kann. Wert ist eine ganze Zahl mit einem Standardwert von 0. Der zulässige Bereich für Wert liegt zwischen 0 und 100.

MAX_MEMORY_PERCENT =Wert
Gibt den gesamten Serverspeicher an, der für Anforderungen in diesem Ressourcenpool verwendet werden kann. Wert ist eine ganze Zahl mit einem Standardwert von 100. Der zulässige Bereich für Wert liegt zwischen 1 und 100.

MIN_IOPS_PER_VOLUME =Wert

Gilt für: SQL Server 2014 bis SQL Server 2016.

Gibt die minimalen E/A-Vorgänge pro Sekunde (IOPS) pro Datenträgervolume an, die für den Ressourcenpool reserviert werden sollen. Der zulässige Bereich für Wert liegt zwischen 0 bis 2 ^ 31-1 (2.147.483.647). 0 gibt an, dass kein minimaler Schwellenwert für den Pool gilt.

MAX_IOPS_PER_VOLUME =Wert

Gilt für: SQL Server 2014 bis SQL Server 2016.

Gibt die maximalen E/A-Vorgänge pro Sekunde (IOPS) pro Datenträgervolume an, die für den Ressourcenpool zulässig sein sollen. Der zulässige Bereich für Wert liegt zwischen 0 bis 2 ^ 31-1 (2.147.483.647). 0 gibt einen unbegrenzten Schwellenwert für den Pool an. Die Standardeinstellung ist 0.

Wenn MAX_IOPS_PER_VOLUME für einen Pool auf den Wert 0 festgelegt ist, wird der Pool überhaupt nicht kontrolliert und kann alle IOPS im System annehmen, selbst wenn für andere Pools MIN_IOPS_PER_VOLUME festgelegt ist. Für diesen Fall wird empfohlen, dass Sie den MAX_IOPS_PER_VOLUME-Wert für diesen Pool auf eine höhere Zahl festlegen (z. B. auf den Maximalwert 2^31-1), wenn E/A-Vorgänge für diesen Pool kontrolliert werden sollen.

Die Werte für MAX_CPU_PERCENT und MAX_MEMORY_PERCENT müssen größer oder gleich den Werten für MIN_CPU_PERCENT und MIN_MEMORY_PERCENT sein.

MAX_CPU_PERCENT können CPU-Kapazität über den Wert MAX_CPU_PERCENT, sofern dieser verfügbar ist. Es kann jedoch auch periodische Spitzen oben CAP_CPU_PERCENT, sollte arbeitsauslastungen nicht CAP_CPU_PERCENT für längere Zeiträume, selbst wenn Sie zusätzlicher CPU-Kapazität verfügbar ist überschreiten.

Der gesamte CPU-Prozentsatz für jede zugeordnete Komponente (Zeitplanungsmodul(e) oder NUMA-Knoten) darf 100 % nicht überschreiten.

Sie sollten bei der Ausführung von DDL-Anweisungen mit dem Status der Ressourcenkontrolle vertraut sein. Weitere Informationen finden Sie unter Resource Governor.

Wenn Sie eine Einstellung zur planauswirkung zu ändern, die neue Einstellung werden erst wirksam zuvor zwischengespeicherte Pläne nach dem Ausführen von DBCC FREEPROCCACHE (Pool_name), wobei Pool_name ist der Name eines Ressourcenpools der Ressourcenkontrolle.

  • Wenn Sie AFFINITY aus mehreren Zeitplanungsmodulen auf einen einzelnen Planer ändern, ist das Ausführen von DBCC FREEPROCCACHE nicht erforderlich, da parallele Pläne im seriellen Modus ausgeführt werden können. Allerdings so effizient wie einen Plan als ein serieller Plan kompiliert möglicherweise nicht.

  • Wenn Sie AFFINITY für mehrere Planer aus einem einzelnen Zeitplan ändern, ist das Ausführen von DBCC FREEPROCCACHE nicht erforderlich. Serielle Pläne jedoch kann nicht parallel ausgeführt werden, damit das Löschen des Zwischenspeichers jeweiligen auf neue Pläne aus, um potenziell die Möglichkeit wird mit der Parallelität kompiliert werden.

System_CAPS_ICON_caution.jpg Achtung


Löschen zwischengespeicherter Pläne aus einem Ressourcenpool, die mehr als eine Arbeitsauslastungsgruppe zugeordnet ist wirkt sich auf alle Arbeitsauslastungsgruppen mit dem benutzerdefinierten Ressourcenpool identifizierten Pool_name.

Erfordert die CONTROL SERVER-Berechtigung.

Im folgenden Beispiel werden alle standardmäßigen Ressourcenpooleinstellungen für den default-Pool beibehalten, außer für MAX_CPU_PERCENT, die in 25 geändert wird.

ALTER RESOURCE POOL "default"  
WITH  
     ( MAX_CPU_PERCENT = 25);  
GO  
ALTER RESOURCE GOVERNOR RECONFIGURE;  
GO  

Im folgenden Beispiel legt CAP_CPU_PERCENT die feste Obergrenze auf 80 % fest, und AFFINITY SCHEDULER wird auf den individuellen Wert 8 sowie einen Bereich von 12 bis 16 festgelegt.

Gilt für: SQL Server 2012 bis SQL Server 2016.
ALTER RESOURCE POOL Pool25  
WITH(   
     MIN_CPU_PERCENT = 5,  
     MAX_CPU_PERCENT = 10,       
     CAP_CPU_PERCENT = 80,  
     AFFINITY SCHEDULER = (8, 12 TO 16),   
     MIN_MEMORY_PERCENT = 5,  
     MAX_MEMORY_PERCENT = 15  
);  
  
GO  
ALTER RESOURCE GOVERNOR RECONFIGURE;  
GO  
  

Ressourcenkontrolle
ERSTELLEN Sie RESOURCE POOL ( Transact-SQL )
DROP RESOURCE POOL ( Transact-SQL )
ERSTELLEN Sie WORKLOAD GROUP ( Transact-SQL )
ALTER WORKLOAD GROUP ( Transact-SQL )
DROP WORKLOAD GROUP ( Transact-SQL )
ALTER RESOURCE GOVERNOR ( Transact-SQL )

Community-Beiträge

HINZUFÜGEN
Anzeigen: