CREATE RESOURCE POOL (Transact-SQL)

Erstellt einen Ressourcenpool für die Ressourcenkontrolle. Die Ressourcenkontrolle ist nicht in jeder Edition von Microsoft SQL Server verfügbar. Eine Liste der Funktionen, die von den Editionen von SQL Server unterstützt werden, finden Sie unter Von den SQL Server 2012-Editionen unterstützte Funktionen.

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen

Syntax

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 ]) 
]
[;]

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]

Argumente

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

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

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

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

  • AFFINITY {SCHEDULER = AUTO | (Scheduler_range_spec) | NUMANODE = (<NUMA_node_range_spec>)}
    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. Den Werten in der scheduler_id-Spalte in sys.dm_os_schedulers (Transact-SQL) werden diese IDs zugeordnet.

    Wenn Sie AFFINITY NAMANODE = (NUMA_node_range_spec) verwenden, wir der Ressourcenpool den SQL Server-Zeitplanungsmodulen zugeordnet, die den physischen CPUs zugeordnet werden, die dem angegebenen NUMA-Knoten oder dem Bereich von Knoten 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 =value
    Gibt den Mindestarbeitsspeicher an, der für diesen Ressourcenpool reserviert ist und nicht gemeinsam mit anderen Ressourcenpools verwendet werden kann. value ist eine ganze Zahl mit dem Standardwert 0. Der zulässige Bereich für value ist 0 bis 100.

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

Hinweise

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.

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 an eine Affinität gebundene Komponente (Zeitplanungskomponenten oder NUMA-Knoten) darf 100 % nicht überschreiten.

Berechtigungen

Erfordert die CONTROL SERVER-Berechtigung.

Beispiele

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 legt CAP_CPU_PERCENT die feste Obergrenze auf 30 % fest, und AFFINITY SCHEDULER wird auf einen Bereich von 0 bis 63, 128 bis 191 festgelegt.

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

Hinweise

Mit der Ressourcenkontrollen-Funktion kann ein Datenbankadministrator Serverressourcen auf Ressourcenpools verteilen, bis zu maximal 64 Pools.

Siehe auch

Verweis

ALTER RESOURCE POOL (Transact-SQL)

DROP RESOURCE POOL (Transact-SQL)

CREATE WORKLOAD GROUP (Transact-SQL)

ALTER WORKLOAD GROUP (Transact-SQL)

DROP WORKLOAD GROUP (Transact-SQL)

ALTER RESOURCE GOVERNOR (Transact-SQL)