云计算百科
云计算领域专业知识百科平台

SQL SERVER如何通过SQL语句获服务器硬件和系统信息

在SQL SERVER中如何通过SQL语句获取服务器硬件和系统信息呢?下面介绍一下如何通过SQL语句获取处理器(CPU)、内存(Memory)、磁盘(Disk)以及操作系统相关信息。如有不足和遗漏,敬请补充。谢谢!

一:查看数据库服务器CPU的信息

—SQL 获取数据库服务器的CPU型号

EXEC xp_instance_regread

\’HKEY_LOCAL_MACHINE\’,

\’HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0\’,

\’ProcessorNameString\’;

—SQL 2:获取数据库服务器CPU核数等信息(只适用于SQL 2005以及以上版本数据库)

/*************************************************************************************

–cpu_count :指定系统中的逻辑 CPU 数

–hyperthread_ratio :指定一个物理处理器包公开的逻辑内核数与物理内核数的比.虚拟机

— 中可以表示每个虚拟插槽的核数。虚拟中[Physical CPU Count]其实

— 表示虚拟插槽数

*************************************************************************************/

SELECT s.cpu_count AS [Loggic CPU Count]
,s.hyperthread_ratio AS [Hyperthread Ratio]
,s.cpu_count/s.hyperthread_ratio AS [Physical CPU Count]
FROM sys.dm_os_sys_info s OPTION (RECOMPILE);

—SQL 3:获取数据库服务器CPU核数(适用于所有版本)
CREATE TABLE #TempTable
(
[Index] VARCHAR(2000) ,
[Name] VARCHAR(2000) ,
[Internal_Value] VARCHAR(2000) ,
[Character_Value] VARCHAR(2000)
);

INSERT INTO #TempTable
EXEC xp_msver;

SELECT Internal_Value AS VirtualCPUCount
FROM #TempTable
WHERE Name = \’ProcessorCount\’;
DROP TABLE #TempTable;
GO

—SQL 4:在老外博客中看到一个计算CPU相关信息的SQL,不过虚拟机计算有点小问题,我修改了一下。

DECLARE @xp_msver TABLE (
[idx] [int] NULL
,[c_name] [varchar](0) NULL
,[int_val] [float] NULL
,[c_val] [varchar](8) NULL
)

INSERT INTO @xp_msver

EXEC (\'[master]..[xp_msver]\’);;

WITH [ProcessorInfo]

AS (

SELECT ([cpu_count] / [hyperthread_ratio]) AS [number_of_physical_cpus]
,CASE
WHEN hyperthread_ratio = cpu_count
THEN cpu_count
ELSE (([cpu_count] [hyperthread_ratio]) / ([cpu_count] / [hyperthread_ratio]))
END AS [number_of_cores_per_cpu]
,CASE
WHEN hyperthread_ratio = cpu_count
THEN cpu_count
ELSE ([cpu_count] / [hyperthread_ratio]) * (([cpu_count] [hyperthread_ratio]) / ([cpu_count] / [hyperthread_ratio]))
END AS [total_number_of_cores]
,[cpu_count] AS [number_of_virtual_cpus]

,(
SELECT [c_val]
FROM @xp_msver
WHERE [c_name] = \’Platform\’
) AS

赞(0)
未经允许不得转载:网硕互联帮助中心 » SQL SERVER如何通过SQL语句获服务器硬件和系统信息
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!