ALTER EXTERNAL RESOURCE POOL (Transact-SQL)

Gilt für: SQL Server 2016 (13.x) und höher Azure SQL Managed Instance

Ändert einen externen Resource Governor-Pool, in dem Ressourcen angegeben werden, die von externen Prozessen verwendet werden können.

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

ALTER EXTERNAL RESOURCE POOL { pool_name | "default" }
[ WITH (
    [ MAX_CPU_PERCENT = value ]
    [ [ , ] MAX_MEMORY_PERCENT = value ]
    [ [ , ] MAX_PROCESSES = value ]
    )
]
[ ; ]

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

ALTER EXTERNAL RESOURCE POOL { pool_name | "default" }
[ 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 ]

Argumente

{ pool_name | "default" }
Der Name eines vorhandenen benutzerdefinierten externen Ressourcenpools oder des externen Standardressourcenpools, der bei der Installation von SQL Server erstellt wird. "default" muss bei Verwendung mit ALTER EXTERNAL RESOURCE POOL in Anführungszeichen ("") oder Klammern ([]) eingeschlossen werden, um einen Konflikt mit DEFAULT zu vermeiden, das ein vom System reserviertes Wort darstellt.

MAX_CPU_PERCENT = value
Gibt die maximale durchschnittliche CPU-Bandbreite an, die allen Anforderungen im externen Ressourcenpool zugewiesen werden können, 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
Gibt die maximale Anzahl von Prozessen an, die für den externen Ressourcenpool zulässig ist. Geben Sie 0 an, um einen unbegrenzten Schwellenwert für den Pool festzulegen, der anschließend nur durch Computerressourcen gebunden ist.

MAX_CPU_PERCENT = value
Gibt die maximale durchschnittliche CPU-Bandbreite an, die allen Anforderungen im externen Ressourcenpool zugewiesen werden können, 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
Gibt die maximale Anzahl von Prozessen an, die für den externen Ressourcenpool zulässig ist. Geben Sie 0 an, um einen unbegrenzten Schwellenwert für den Pool festzulegen, 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 Verwendung von externen Ressourcenpools, mit denen Sie Machine Learning-Aufträge kontrollieren können, 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

Durch die folgende Anweisung wird ein externer Pool so geändert, dass die CPU-Auslastung auf 50 Prozent und der maximale Arbeitsspeicher auf 25 Prozent des verfügbaren Arbeitsspeichers auf dem Computer beschränkt wird.

ALTER EXTERNAL RESOURCE POOL ep_1
WITH (
    MAX_CPU_PERCENT = 50
    , MAX_MEMORY_PERCENT = 25
);
GO
ALTER RESOURCE GOVERNOR RECONFIGURE;
GO
ALTER EXTERNAL RESOURCE POOL ep_1
WITH (
    MAX_CPU_PERCENT = 50
    , AFFINITY CPU = AUTO
    , MAX_MEMORY_PERCENT = 25
);
GO
ALTER RESOURCE GOVERNOR RECONFIGURE;
GO

Weitere Informationen