CREATE EXTERNAL RESOURCE POOL (Transact-SQL)
S’applique à : SQL Server 2016 (13.x) et versions ultérieures
Crée un pool externe pour définir des ressources pour les processus externes. Un pool de ressources représente un sous-ensemble des ressources physiques (mémoire et processeurs) d’une instance du moteur de base de données. Un Gouverneur de ressources peut répartir des ressources serveur entre plusieurs pools de ressources (64 pools au maximum).
Pour R Services (dans la base de données) dans SQL Server 2016 (13.x), le pool externe régit rterm.exe
BxlServer.exe
et d’autres processus générés par eux.
Pour Machine Learning Services, le pool externe gouverne rterm.exe
, python.exe
, BxlServer.exe
et les autres processus générés par ces derniers.
Conventions de la syntaxe Transact-SQL
Syntaxe
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 ]
Arguments
pool_name
Nom défini par l’utilisateur du pool de ressources externes. pool_name est alphanumérique et peut contenir jusqu'à 128 caractères. Cet argument doit être unique au sein d’une instance de SQL Server et respecter les règles applicables aux identificateurs.
MAX_CPU_PERCENT =value
La bande passante processeur moyenne maximale que toutes les demandes du pool de ressources externes peuvent recevoir en cas de contention du processeur. value est un entier. La plage autorisée pour value est comprise entre 1 et 100.
MAX_MEMORY_PERCENT =value
Spécifie la mémoire totale du serveur qui peut être utilisée par les demandes dans ce pool de ressources externes. value est un entier. La plage autorisée pour value est comprise entre 1 et 100.
MAX_PROCESSES =value
Le nombre maximal de processus autorisés pour le pool de ressources externes. 0 à seuil illimité pour le pool, qui est alors limité uniquement par les ressources de l’ordinateur.
MAX_CPU_PERCENT =value
La bande passante processeur moyenne maximale que toutes les demandes du pool de ressources externes peuvent recevoir en cas de contention du processeur. value est un entier. La plage autorisée pour value est comprise entre 1 et 100.
AFFINITY {CPU = AUTO | ( <CPU_range_spec>) | NUMANODE = (<NUMA_node_range_spec>)} Attache le pool de ressources externes à des unités centrales spécifiques.
AFFINITY CPU = (<CPU_range_spec>) mappe le pool de ressources externes aux processeurs identifiés SQL Server par les valeurs CPU_ID données.
Quand vous utilisez AFFINITY NUMANODE = **(<NUMA_node_range_spec>), le pool de ressources externes est associé par affinité aux processeurs physiques SQL Server correspondant au nœud NUMA ou à la plage de nœuds donnée.
MAX_MEMORY_PERCENT =value
Spécifie la mémoire totale du serveur qui peut être utilisée par les demandes dans ce pool de ressources externes. value est un entier. La plage autorisée pour value est comprise entre 1 et 100.
MAX_PROCESSES =value
Le nombre maximal de processus autorisés pour le pool de ressources externes. 0 à seuil illimité pour le pool, qui est alors limité uniquement par les ressources de l’ordinateur.
Notes
Le Moteur de base de données implémente le pool de ressources quand vous exécutez l’instruction ALTER RESOURCE GOVERNOR RECONFIGURE.
Pour obtenir des informations générales sur les pools de ressources, consultez Pool de ressources du gouverneur de ressources, sys.resource_governor_external_resource_pools (Transact-SQL) et sys.dm_resource_governor_external_resource_pool_affinity (Transact-SQL).
Pour plus d’informations spécifiques à la gestion de pools de ressources externes utilisés pour l’apprentissage automatique, consultez Gouvernance des ressources de Machine Learning dans SQL Server.
Autorisations
Nécessite l'autorisation CONTROL SERVER
.
Exemples
Le pool externe affiche une utilisation de l’UC limitée de 75 %. La mémoire maximale représente 30 % de la mémoire disponible sur l’ordinateur.
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
Voir aussi
- external scripts enabled (option de configuration de serveur)
- sp_execute_external_script (Transact-SQL)
- ALTER EXTERNAL RESOURCE POOL (Transact-SQL)
- DROP EXTERNAL RESOURCE POOL (Transact-SQL)
- CREATE RESOURCE POOL (Transact-SQL)
- CREATE WORKLOAD GROUP (Transact-SQL)
- Pool de ressources de Resource Governor
- sys.resource_governor_external_resource_pools (Transact-SQL)
- sys.dm_resource_governor_external_resource_pool_affinity (Transact-SQL)
- ALTER RESOURCE GOVERNOR (Transact-SQL)