web-dev-qa-db-fra.com

Comment savoir combien de cœurs SQL Server utilise réellement?

J'ai deux serveurs exécutant SQL Server.

  • Serveur 1: SQL Server 2008 R2 Express (4 cœurs)
  • Serveur 2: SQL Server 2012 Developer Edition (8 cœurs)

Pour autant que je sache, SQL Server 2008 R2 Express ne devrait utiliser qu'un seul cœur.

La version SQL Server 2012 Developer doit utiliser les 8 cœurs.

Cependant, si j'exécute la commande suivante à l'intérieur de la requête SQL sur SQL Server 2008 R2 Express, elle affiche 4 cœurs.

select scheduler_id, cpu_id, status, is_online 
from sys.dm_os_schedulers 
where status = 'VISIBLE ONLINE'

Suis-je en utilisant la bonne commande pour évaluer l'utilisation?

17
Craig Edmonds

L'édition Express est limitée par 1 processeur, pas 1 cœur:

SQL Server prend en charge le nombre spécifié de sockets de processeur multiplié par le nombre de CPU logiques dans chaque socket. Par exemple, ce qui suit est considéré comme un processeur unique pour les besoins de ce tableau: Un processeur hyper-thread monocœur avec 2 CPU logiques par socket. Un processeur dual-core avec 2 CPU logiques. Un processeur quad-core avec 4 CPU logiques. SQL Server est concédé sous licence par processeur socket, et pas par base de processeur logique .

http://msdn.Microsoft.com/en-us/library/ms143760 (v = sql.105) .aspx

Et oui, sys.dm_os_schedulers peut être utilisé pour garantir que les 4 cœurs sont mappés avec des planificateurs.

7
Stan

Utilisez cette commande avec un système d'exploitation supérieur à 2007:

->> WMIC CPU Get DeviceID,NumberOfCores,NumberOfLogicalProcessors

Pour les serveurs physiques DeviceID ~ Socket, NumberofCores ~ CPU's, NumberOfLogicalProcessors ~ Threads. MS utilise désormais un modèle de licence basé sur le cœur. Les CAL sont hors de portée. Recherchez "Guide de licence Microsoft SQL Server 2012" si des informations supplémentaires sont nécessaires.

L'exemple ci-dessous serait nécessaire pour calculer le coût/facturer une licence SQL Server de 2 unités * 4 CPU pour Standard/Enterprise. Total 8 cœurs (CPU).

DeviceID  NumberOfCores  NumberOfLogicalProcessors
CPU0      4              8
CPU1      4              8

L'onglet Performances du Gestionnaire des tâches ou l'onglet CPU du Moniteur de ressources affichera 16 CPU en cours d'exécution. Processeurs logiques. Recherchez "Intel X5550", qui est le processeur que je vérifiais. Intel a toutes les spécifications sur le site Web ark.intel.com pour vérifier les informations nécessaires.

1
gameon6671