SQL SERVER中获服务器硬件和系统信息SQL语句

在 SQL Server 中,你可以通过查询系统视图、函数和扩展的管理视图来获取硬件和系统信息。以下是一些常见的 SQL 查询,它们可以提供有关 SQL Server 实例、操作系统和硬件的相关信息。

1. 获取 SQL Server 实例版本、操作系统版本和架构信息

SELECT 
    SERVERPROPERTY('ProductVersion') AS SQLServerVersion,
    SERVERPROPERTY('ProductLevel') AS ProductLevel,
    SERVERPROPERTY('Edition') AS Edition,
    SERVERPROPERTY('EngineEdition') AS EngineEdition,
    SERVERPROPERTY('MachineName') AS ServerName,
    SERVERPROPERTY('IsClustered') AS IsClustered,
    SERVERPROPERTY('MaxDop') AS MaxDegreeOfParallelism,
    SERVERPROPERTY('Collation') AS Collation,
    SERVERPROPERTY('Platform') AS Platform,
    SERVERPROPERTY('OSVersion') AS OSVersion;

2. 获取操作系统的详细信息

SELECT 
    sqlserver_start_time AS SQLServerStartTime,
    cpu_count AS CPUCount,
    physical_memory_in_bytes/1048576 AS PhysicalMemoryMB,
    max_workers_count AS MaxWorkerThreads,
    process_physical_memory_low AS IsMemoryLow
FROM sys.dm_os_sys_info;

3. 获取磁盘空间信息

EXEC xp_fixeddrives;

4. 获取当前运行的 SQL Server 配置

EXEC sp_configure;

5. 获取服务器硬件信息

SELECT 
    cpu_count AS CPUCount,
    hyperthread_ratio AS HyperThreadRatio,
    physical_memory_in_bytes / 1048576 AS PhysicalMemoryMB,
    virtual_memory_in_bytes / 1048576 AS VirtualMemoryMB
FROM sys.dm_os_sys_info;

6. 获取SQL Server硬件性能指标

SELECT 
    logical_cpu_count,
    physical_memory_in_bytes / 1048576 AS TotalPhysicalMemoryMB,
    virtual_memory_in_bytes / 1048576 AS TotalVirtualMemoryMB,
    sql_memory_model_desc AS MemoryModel,
    sql_memory_model AS MemoryModelId
FROM sys.dm_os_sys_info;

这些 SQL 查询通过系统管理视图(如 sys.dm_os_sys_info)和内置函数(如 SERVERPROPERTY)提供了硬件、操作系统和 SQL Server 实例的详细信息。你可以根据自己的需求调整查询,进一步获取具体的信息。

编写SQL语句来获取SQL Server服务器的硬件和系统信息

-- 1. CPU信息
SELECT cpu_count AS [逻辑CPU数量],
       hyperthread_ratio AS [处理器核心数],
       cpu_count/hyperthread_ratio AS [物理CPU数量],
       physical_memory_kb/1024/1024 AS [物理内存(GB)]
FROM sys.dm_os_sys_info;

-- 2. 操作系统信息
SELECT windows_release AS [Windows版本],
       windows_service_pack_level AS [Service Pack],
       windows_sku AS [Windows版本类型],
       os_language_version AS [系统语言版本]
FROM sys.dm_os_windows_info;

-- 3. SQL Server实例信息
SELECT @@VERSION AS [SQL Server版本],
       SERVERPROPERTY('Edition') AS [版本],
       SERVERPROPERTY('ProductLevel') AS [补丁级别],
       SERVERPROPERTY('ProductVersion') AS [产品版本];

-- 4. 磁盘空间使用情况
SELECT DISTINCT
    vs.volume_mount_point AS [挂载点],
    vs.logical_volume_name AS [逻辑卷名],
    vs.total_bytes/1024/1024/1024 AS [总容量(GB)],
    vs.available_bytes/1024/1024/1024 AS [可用空间(GB)],
    CAST(CAST(vs.available_bytes AS FLOAT)/ CAST(vs.total_bytes AS FLOAT) * 100 AS DECIMAL(5,2)) AS [可用空间百分比]
FROM sys.master_files AS mf
CROSS APPLY sys.dm_os_volume_stats(mf.database_id, mf.file_id) vs;

-- 5. 内存使用情况
SELECT 
    (total_physical_memory_kb/1024/1024) AS [系统总物理内存(GB)],
    (available_physical_memory_kb/1024/1024) AS [系统可用物理内存(GB)],
    (total_page_file_kb/1024/1024) AS [系统页面文件总大小(GB)],
    (available_page_file_kb/1024/1024) AS [系统可用页面文件(GB)],
    system_memory_state_desc AS [系统内存状态]
FROM sys.dm_os_sys_memory;

-- 6. SQL Server内存使用
SELECT 
    (committed_kb/1024) AS [SQL Server已提交内存(MB)],
    (committed_target_kb/1024) AS [SQL Server目标内存(MB)],
    (visible_target_kb/1024) AS [可见目标内存(MB)]
FROM sys.dm_os_sys_info;

-- 7. 网络配置信息
SELECT 
    local_net_address AS [本地IP地址],
    local_tcp_port AS [本地TCP端口]
FROM sys.dm_exec_connections 
WHERE session_id = @@SPID;

我提供了7个主要部分的查询语句,每个部分都有具体的功能:

  1. CPU信息:显示处理器数量、核心数等
  2. 操作系统信息:Windows版本和语言设置
  3. SQL Server实例信息:版本和补丁级别
  4. 磁盘空间使用情况:各个卷的容量和可用空间
  5. 系统内存使用情况:物理内存和页面文件的使用状况
  6. SQL Server内存使用:实例的内存分配情况
  7. 网络配置:当前连接的网络信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值