quand j'exécute la requête suivante de Glenn Berry
-- Hardware information from SQL Server 2016 (Query 18) (Hardware Info)
SELECT cpu_count AS [Logical CPU Count], scheduler_count, hyperthread_ratio AS [Hyperthread Ratio],
cpu_count/hyperthread_ratio AS [Physical CPU Count],
physical_memory_kb/1024 AS [Physical Memory (MB)], committed_kb/1024 AS [Committed Memory (MB)],
committed_target_kb/1024 AS [Committed Target Memory (MB)],
max_workers_count AS [Max Workers Count], affinity_type_desc AS [Affinity Type],
sqlserver_start_time AS [SQL Server Start Time], virtual_machine_type_desc AS [Virtual Machine Type],
softnuma_configuration_desc AS [Soft NUMA Configuration],
sql_memory_model_desc -- New in SQL Server 2016 SP1
FROM sys.dm_os_sys_info WITH (NOLOCK) OPTION (RECOMPILE);
------
quand j'utilise PowerShell, je reçois plus de détails cependant: -
Je suis réticent à apprendre PowerShell, mais je prévois de l'accepter bientôt ...
pendant ce temps, la question est:
SQL Server est-il un moyen de trouver la vitesse du processeur (dans ce cas, 2,60 GHz)?
Vous pouvez utiliser xp_cmdshell
, ou vous pouvez utiliser xp_regread
. Depuis xp_regread
est "plus sûr" (je veux dire, vous n'avez pas à modifier des options de configuration pour l'utiliser), vous pouvez faire quelque chose comme ceci:
DECLARE @cpu_speed_mhz int,
@cpu_speed_ghz decimal(18,2);
EXEC master.sys.xp_regread @rootkey = 'HKEY_LOCAL_MACHINE',
@key = 'HARDWARE\DESCRIPTION\System\CentralProcessor\0',
@value_name = '~MHz',
@value = @cpu_speed_mhz OUTPUT;
SELECT @cpu_speed_ghz = CAST(CAST(@cpu_speed_mhz AS DECIMAL) / 1000 AS DECIMAL(18,2));
J'ai testé cela sur quelques ordinateurs différents et cela semblait me faire comprendre ce dont j'avais besoin. Cela peut fonctionner pour vous aussi.
Rappelez-vous que xp_regread
est sans papiers et que Blah Blah bla, comme Microsoft se déshabille de toute façon.
J'espère que cela t'aides!