CREATE RESOURCE POOL (Transact-SQL)

 

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

Erstellt einen Ressourcenpool für die Ressourcenkontrolle in SQL Server. Ein Ressourcenpool stellt eine Teilmenge der physischen Ressourcen (Arbeitsspeicher, CPUs und E/A) einer Instanz des Datenbankmoduls dar. Mit der Ressourcenkontrolle kann ein Datenbankadministrator Serverressourcen auf Ressourcenpools verteilen, bis zu maximal 64 Pools. Die Ressourcenkontrolle ist nicht in jeder Edition von SQL Server verfügbar. Eine Liste der Funktionen, die von den SQL Server-Editionen unterstützt werden, finden Sie unter Von den SQL Server 2016-Editionen unterstützte Funktionen.

Topic link iconTransact-SQL-Syntaxkonventionen.

  
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]  

pool_name
Der benutzerdefinierte Name für den Ressourcenpool. Pool_name ist alphanumerisch, kann bis zu 128 Zeichen sein, muss innerhalb einer Instanz eindeutig sein SQL Server, und Sie müssen den Regeln für entsprechen Bezeichner.

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

Legt eine feste Obergrenze für die CPU-Bandbreite fest, die für alle Anforderungen im Ressourcenpool gilt. Beschränkt die maximale CPU-Bandbreitenstufe auf den angegebenen Wert. Wert ist eine ganze Zahl mit einem Standardwert von 100. Der zulässige Bereich für Wert liegt zwischen 1 und 100.

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 der SQL Server Zeitpläne, die von den angegebenen IDs identifizierten.</scheduler_range_spec> Diese IDs zugeordnet werden, um die Werte in der Scheduler_id-Spalte in DM_OS_SCHEDULERS (Transact-SQL).

Bei Verwendung von AFFINITY NUMANODE = ( <NUMA_node_range_spec> ), der Ressourcenpool zugeordnet ist, die SQL Server Planer, die den physischen CPUs zugeordnet werden soll, auf dem angegebenen NUMA-Knoten oder-Knotenbereich entsprechen.</NUMA_node_range_spec> Sie können die Zuordnung zwischen der physischen NUMA-Konfiguration und den Transact-SQL-Zeitplanungsmodul-IDs mithilfe der folgenden SQL Server-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. Die Standardeinstellung ist 0.

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.

MIN_IOPS_PER_VOLUME und MAX_IOPS_PER_VOLUME geben das Minimum und das Maximum für Lese- und Schreibvorgänge pro Sekunde an. Die Lese- und Schreibvorgänge können eine beliebige Größe haben und geben daher keinen Aufschluss über den minimalen bzw. maximalen Durchsatz.

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

CAP_CPU_PERCENT unterscheidet sich insofern von MAX_CPU_PERCENT, als dem Pool zugeordnete Arbeitsauslastungen CPU-Kapazität über dem Wert von MAX_CPU_PERCENT verwenden können, sofern sie verfügbar ist, aber nicht über dem Wert von CAP_CPU_PERCENT.

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

Erfordert die CONTROL SERVER-Berechtigung.

Das folgende Beispiel zeigt, wie ein Ressourcenpool mit der Bezeichnung bigPool erstellt wird. Dieser Pool verwendet die Standardeinstellungen der Ressourcenkontrolle.

CREATE RESOURCE POOL bigPool;  
GO  
ALTER RESOURCE GOVERNOR RECONFIGURE;  
GO  

Im folgenden Beispiel werden CAP_CPU_PERCENT auf die feste Obergrenze 30 % und AFFINITY SCHEDULER auf einen Bereich von 0 bis 63, 128 bis 191 festgelegt.

Gilt für: SQL Server 2012 bis SQL Server 2016.
CREATE RESOURCE POOL PoolAdmin  
WITH (  
     MIN_CPU_PERCENT = 10,  
     MAX_CPU_PERCENT = 20,  
     CAP_CPU_PERCENT = 30,  
     AFFINITY SCHEDULER = (0 TO 63, 128 TO 191),  
     MIN_MEMORY_PERCENT = 5,  
     MAX_MEMORY_PERCENT = 15  
      );  
  

Im folgenden Beispiel wird MIN_IOPS_PER_VOLUME auf > und MAX_IOPS_PER_VOLUME auf   >. Diese Werte bestimmen die physischen E/A-Lese- und Schreibvorgänge, die für den Ressourcenpool verfügbar sind.

Gilt für: SQL Server 2014 bis SQL Server 2016.
CREATE RESOURCE POOL PoolAdmin  
WITH (  
    MIN_IOPS_PER_VOLUME = 20,  
    MAX_IOPS_PER_VOLUME = 100  
      );  
  

ALTER RESOURCE POOL (Transact-SQL)
DROP RESOURCE POOL (Transact-SQL)
Erstellen Sie die ARBEITSAUSLASTUNGSGRUPPE (Transact-SQL)
ALTER WORKLOAD GROUP (Transact-SQL)
DROP WORKLOAD GROUP (Transact-SQL)
ALTER RESOURCE GOVERNOR (Transact-SQL)
Resource Governor Resource Pool
Erstellen eines Ressourcenpools

Community-Beiträge

HINZUFÜGEN
Anzeigen: