CREATE RESOURCE POOL (Transact-SQL)
Crée un pool de ressources du gouverneur de ressources. Le gouverneur de ressources n'est pas disponible dans toutes les éditions de Microsoft SQL Server. Pour obtenir une liste des fonctionnalités prises en charge par les éditions de SQL Server, consultez Fonctionnalités prises en charge par les éditions de SQL Server 2012.
Conventions de la syntaxe Transact-SQL.
Syntaxe
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]
Arguments
pool_name
Nom défini par l'utilisateur du pool de ressources. pool_name est alphanumérique, peut contenir jusqu'à 128 caractères, doit être unique dans une instance de SQL Server et doit respecter les règles des identificateurs.MIN_CPU_PERCENT =value
Spécifie la bande passante de l'UC moyenne garantie pour toutes les demandes dans le pool de ressources en cas de contention de l'UC. value est un entier dont le paramètre par défaut est 0. La plage autorisée pour value est comprise entre 0 et 100.MAX_CPU_PERCENT =value
Spécifie la bande passante de l'UC moyenne maximale que toutes les demandes du pool de ressources recevront en cas de contention de l'UC. value est un entier dont le paramètre par défaut est 100. La plage autorisée pour value est comprise entre 1 et 100.CAP_CPU_PERCENT =value
Spécifie une extrémité de fin fixe sur la bande passante de l'UC que toutes les demandes dans le pool de ressources recevront. Limite le niveau de la bande passante maximum de l'UC pour qu'il soit identique à la valeur spécifiée. value est un entier dont le paramètre par défaut est 100. La plage autorisée pour value est comprise entre 1 et 100.AFFINITY {SCHEDULER = AUTO | (Scheduler_range_spec) | NUMANODE = (<NUMA_node_range_spec>)}
Attache la liste des ressources aux planificateurs spécifiques. La valeur par défaut est AUTO.AFFINITY SCHEDULER = (Scheduler_range_spec) mappe le pool de ressources aux planifications SQL Server identifiées par les ID donnés. Ces ID mappent aux valeurs de la colonne scheduler_id dans sys.dm_os_schedulers (Transact-SQL).
Lorsque vous utilisez AFFINITY NAMANODE = (NUMA_node_range_spec), le pool de ressources possède une affinité avec les planificateurs SQL Server qui mappent aux UC physiques correspondant au nœud NUMA ou à la plage de nœuds donnée. Vous pouvez utiliser la requête Transact-SQL ci-après pour découvrir le mappage entre la configuration NUMA physique et les ID du planificateur SQL Server.
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
Spécifie la quantité de mémoire minimale réservée à ce pool de ressources qui ne peut pas être partagée avec d'autres pools de ressources. value est un entier dont le paramètre par défaut est 0. La plage autorisée pour value est comprise entre 0 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. value est un entier dont le paramètre par défaut est 100. La plage autorisée pour value est comprise entre 1 et 100.
Notes
Les valeurs de MAX_CPU_PERCENT et MAX_MEMORY_PERCENT doivent être supérieures ou égales aux valeurs de MIN_CPU_PERCENT et MIN_MEMORY_PERCENT, respectivement.
CAP_CPU_PERCENT diffère de MAX_CPU_PERCENT car les charges de travail associées au pool peuvent utiliser la capacité de l'UC au-dessus de la valeur MAX_CPU_PERCENT si elle est disponible, mais pas au-dessus de la valeur CAP_CPU_PERCENT.
Le pourcentage de l'UC total pour chaque composant d'affinité (planificateur(s) ou nœud(s) NUMA) ne doit pas dépasser 100 %.
Autorisations
Nécessite l'autorisation CONTROL SERVER.
Exemples
L'exemple suivant montre comment créer un pool de ressources appelé bigPool. Ce pool utilise les paramètres par défaut du gouverneur de ressources.
CREATE RESOURCE POOL bigPool;
GO
ALTER RESOURCE GOVERNOR RECONFIGURE;
GO
Dans l'exemple suivant, CAP_CPU_PERCENT définit l'l'extrémité de fin fixe à 30 % et AFFINITY SCHEDULER a une plage de 0 à 63 et de 128 à 191.
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);
Notes
La fonctionnalité Gouverneur de ressources permet à un administrateur de base de données de répartir des ressources serveur entre plusieurs pools de ressources (64 pools au maximum).
Voir aussi
Référence
ALTER RESOURCE POOL (Transact-SQL)
DROP RESOURCE POOL (Transact-SQL)
CREATE WORKLOAD GROUP (Transact-SQL)
ALTER WORKLOAD GROUP (Transact-SQL)