SqlServer如何通过SQL语句获取处理器(CPU)、内存(Memory)、磁
在SQL SERVER中如何通过SQL语句获取服务器硬件和系统信息呢?下面介绍一下如何通过SQL语句获取处理器(CPU)、内存(Memory)、磁盘(Disk)以及操作系统相关信息。如有不足和遗漏,敬请补充。谢谢! 一:查看数据库服务器CPU的信息 ---SQL 1:获取数据库服务器的CPU型号---SQL 2:获取数据库服务器CPU核数等信息(只适用于SQL 2005以及以上版本数据库)---SQL 3:获取数据库服务器CPU核数(适用于所有版本)---SQL 4:在老外博客中看到一个计算CPU相关信息的SQL,不过虚拟机计算有点小问题,我修改了一下。二:查看数据库服务器内存的信息 能否通过SQL语句获取服务器的物理内存大小?内存条型号?虚拟内存大小?内存使用情况? 目前我所知道的只能通过SQL语句获取服务器物理内存大小,内存的使用情况。 至于内存条型号,系统虚拟内存大小,暂时好像还无法通过SQL语句获取。 查看服务器的物理内存情况 如下所示,从sys.dm_os_sys_info里面获取的physical_memory_in_bytes 或physical_memory_kb 的值总是低于实际物理内存。暂时不清楚具体原因(还未查到相关资料),所以计算大小有出入,要获取实际的物理内存,就必须借助CEILING函数。
--SQL 1:获取数据库服务器物理内存数(适用于所有版本)---SQL 2:适用于SQL Server 2005、SQL Server 2008---SQL 3:适用于SQL Server 2012 到 SQL Server 2014---SQL 4:适用于SQL Server 2008以及以上的版本:查看物理内存大小,已经使用的物理内存以及还剩下的物理内存。三:查看数据库服务器硬盘的信息 如下所示,我们可以通过下面脚本获取服务器的各个磁盘的使用情况。但是无法获取磁盘的型号、转速之类的信息。 四:查看操作系统信息 通过下面SQL语句,我们可以查看操作系统版本、补丁、语言等信息
1:如上所示,临时表#Language的数据此处只列了几条常用的数据,如需全部数据,参考自行补充。 2:操作系统的版本信息的数据来源于 有可能出现不同操作系统具有相同Version number值,例如Windows 7 和Windows Server 2008 R2的Version numberd都为6.1。导致下面查询结果出现多条记录(如下所示)。一般要酌情判断(如果生产服务器都为Windows服务器,可以剔除Windows XP、Windows 7这类数据)。
使用SQL语句获得服务器名称和IP地址 获取服务器名称: 获取IP地址可以使用xp_cmdshell执行ipconfig命令:但是很多情况下由于安全问题是不允许使用xp_cmdshell,可以通过查询SYS.DM_EXEC_CONNECTIONS : (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |