CREATE EXTERNAL RESOURCE POOL (Transact-SQL)

Gilt für: SQL Server 2016 (13.x) und höhere Versionen

Erstellt einen externen Pool, mit dem Ressourcen für externe Prozesse definiert werden. Ein Ressourcenpool stellt eine Teilmenge der physischen Ressourcen (Arbeitsspeicher und CPUs) einer Datenbank-Engine-Instanz dar. Ein Resource Governor kann Serverressourcen auf Ressourcenpools verteilen. Bis zu 64 Pools sind möglich.

Für R Services (datenbankintern) in SQL Server 2016 (13.x) steuert der externe Pool rterm.exe, BxlServer.exe und andere Prozesse, die davon ausgelöst wurden.

Für Machine Learning Services kontrolliert der externe Pool rterm.exe, python.exe, BxlServer.exe und andere Prozesse, die davon ausgelöst wurden.

Transact-SQL-Syntaxkonventionen

Syntax

CREATE EXTERNAL RESOURCE POOL pool_name  
[ WITH (  
    [ MAX_CPU_PERCENT = value ]  
    [ [ , ] MAX_MEMORY_PERCENT = value ]  
    [ [ , ] MAX_PROCESSES = value ]   
    )   
]  
[ ; ]  

<CPU_range_spec> ::=    
{ CPU_ID | CPU_ID  TO CPU_ID } [ ,...n ]  
CREATE EXTERNAL RESOURCE POOL pool_name  
[ WITH (  
    [ MAX_CPU_PERCENT = value ]  
    [ [ , ] AFFINITY CPU =    
            {  
                AUTO   
              | ( <cpu_range_spec> )   
              | NUMANODE = ( <NUMA_node_id> )   
            } ]   
    [ [ , ] MAX_MEMORY_PERCENT = value ]  
    [ [ , ] MAX_PROCESSES = value ]   
    )   
]  
[ ; ]  

<CPU_range_spec> ::=    
{ CPU_ID | CPU_ID  TO CPU_ID } [ ,...n ]  

Hinweis

Informationen zum Anzeigen der Transact-SQL-Syntax für SQL Server 2014 (12.x) und früher finden Sie unter Dokumentation zu früheren Versionen.

Argumente

pool_name
Der benutzerdefinierte Name für den externen Ressourcenpool. pool_name ist alphanumerisch und kann bis zu 128 Zeichen lang sein. Dieses Argument muss innerhalb einer Instanz von SQL Server eindeutig sein und die Regeln für Bezeichner erfüllen.

MAX_CPU_PERCENT = value
Die maximale durchschnittliche CPU-Bandbreite für alle Anforderungen im externen Ressourcenpool, wenn CPU-Konflikte bestehen. value ist ein Integer. Der zulässige Bereich für value liegt zwischen 1 und 100.

MAX_MEMORY_PERCENT =value
Gibt den gesamten Serverspeicher an, der für Anforderungen in diesem externen Ressourcenpool verwendet werden kann. value ist ein Integer. Der zulässige Bereich für value liegt zwischen 1 und 100.

MAX_PROCESSES = value
Die maximale Anzahl von Prozessen, die für den externen Ressourcenpool zulässig sind. 0 entspricht einem unbegrenzten Schwellenwert für den Pool, der anschließend nur durch Computerressourcen gebunden ist.

MAX_CPU_PERCENT = value
Die maximale durchschnittliche CPU-Bandbreite für alle Anforderungen im externen Ressourcenpool, wenn CPU-Konflikte bestehen. value ist ein Integer. Der zulässige Bereich für value liegt zwischen 1 und 100.

AFFINITY {CPU = AUTO | ( <CPU_range_spec>) | NUMANODE = (<NUMA_node_range_spec>)} fügt den externen Ressourcenpool an bestimmte CPUs an.

AFFINITY CPU = (<CPU_range_spec>) ordnet den externen Ressourcenpool den SQL Server-CPUs zu, die durch die angegebenen CPU_IDs identifiziert werden.

Wenn Sie AFFINITY NUMANODE = **(<NUMA_node_range_spec>) verwenden, wird der externe Ressourcenpool den physischen SQL Server-CPUs zugeordnet, die dem angegebenen NUMA-Knoten oder dem Knotenbereich entsprechen.

MAX_MEMORY_PERCENT =value
Gibt den gesamten Serverspeicher an, der für Anforderungen in diesem externen Ressourcenpool verwendet werden kann. value ist ein Integer. Der zulässige Bereich für value liegt zwischen 1 und 100.

MAX_PROCESSES = value
Die maximale Anzahl von Prozessen, die für den externen Ressourcenpool zulässig sind. 0 entspricht einem unbegrenzten Schwellenwert für den Pool, der anschließend nur durch Computerressourcen gebunden ist.

Bemerkungen

Die Datenbank-Engine implementiert den Ressourcenpool, wenn Sie die ALTER RESOURCE GOVERNOR RECONFIGURE-Anweisung ausführen.

Allgemeine Informationen zu Ressourcenpools finden Sie unter Resource Governor-Ressourcenpool, sys.resource_governor_external_resource_pools (Transact-SQL) und sys.dm_resource_governor_external_resource_pool_affinity (Transact-SQL).

Informationen zur Verwaltung externer Ressourcenpools für Machine Learning finden Sie unter Resource governance for machine learning in SQL Server (Ressourcenkontrolle für Machine Learning in SQL Server).

Berechtigungen

Erfordert die CONTROL SERVER-Berechtigung.

Beispiele

Für den externen Pool wurde die CPU-Auslastung auf 75 Prozent beschränkt. Der maximale Arbeitsspeicher beträgt 30 Prozent des verfügbaren Arbeitsspeichers auf dem Computer.

CREATE EXTERNAL RESOURCE POOL ep_1
WITH (  
    MAX_CPU_PERCENT = 75
    , MAX_MEMORY_PERCENT = 30
);
GO
ALTER RESOURCE GOVERNOR RECONFIGURE;
GO
CREATE EXTERNAL RESOURCE POOL ep_1
WITH (  
    MAX_CPU_PERCENT = 75
    , AFFINITY CPU = AUTO
    , MAX_MEMORY_PERCENT = 30
);
GO
ALTER RESOURCE GOVERNOR RECONFIGURE;
GO

Weitere Informationen