凌峰创科服务平台

如何查看SQL Server服务器属性?

  1. 通过 SSMS 图形界面查看:这是最常用、最直观的方式。
  2. 通过 T-SQL 系统视图和函数查询:适用于自动化脚本、监控和报告。
  3. 通过系统存储过程查看:一些特定的、非标准化的信息可以通过存储过程获取。

下面我将详细介绍这三个方面。

如何查看SQL Server服务器属性?-图1
(图片来源网络,侵删)

通过 SQL Server Management Studio (SSMS) 查看服务器属性

这是最直接的方法,在 SSMS 对象资源管理器中,右键点击服务器名称,选择“属性”。

打开的“服务器属性”窗口包含多个页面,每个页面都展示了服务器某一方面的详细信息。

以下是各个页面的关键内容:

a. 常规

  • 服务器名称:当前连接的 SQL Server 实例的名称。
  • 产品版本:SQL Server 的版本号(如 0.2000.5 对应 SQL Server 2025)。
  • 产品级别:RTM (Release To Manufacturing)、SP (Service Pack)、CU (Cumulative Update) 或 GDR (General Distribution Release)。
  • 版本:企业版、标准版、开发版、Express 等。
  • 操作系统:服务器运行的操作系统信息。
  • 处理器:CPU 的数量和类型。
  • 内存:服务器上可用的物理内存。
  • SQL Server 安装的根目录:SQL Server 的安装路径。

b. 内存

  • 服务器内存选项
    • 最小服务器内存:SQL Server 不会低于此值释放内存,单位为 MB。
    • 最大服务器内存:SQL Server 不会使用超过此值的内存。(重要调优点)
  • 使用动态内存分配:默认开启,允许 SQL Server 根据负载动态调整内存使用。
  • 锁页内存:将 SQL Server 使用的内存物理锁定在 RAM 中,防止操作系统将其交换到磁盘,对于要求极高性能的关键业务,可以考虑开启。

c. 处理器

  • 处理器关联:将 SQL Server 进程绑定到特定的 CPU 核心,通常不推荐手动设置,让操作系统管理即可。
  • 自动设置处理器关联:默认开启。
  • 最大工作线程数:SQL Server 用于处理请求的线程池大小,通常保持默认值,SQL Server 会自动调整。
  • I/O 亲和性:将 SQL Server 的 I/O 线程绑定到特定的 CPU 核心,减少 CPU 缓存失效。

d. 安全性

  • 服务器身份验证
    • Windows 身份验证模式:仅使用 Windows 账户登录,更安全,推荐使用。
    • Windows 和 SQL Server 身份验证模式:同时支持 Windows 账户和 SQL Server 账户登录,如果应用或用户需要使用 SQL 登录,必须选择此模式。
  • 登录审核:记录登录尝试的详细程度。
    • :不记录。
    • 仅失败:只记录失败的登录尝试(推荐)。
    • 成功和失败:记录所有登录尝试。
  • 服务器代理凭据:配置 SQL Server Agent 作业所使用的 Windows 账户。

e. 连接

  • 最大并发连接数:允许同时连接到服务器的最大用户数,默认为 0,表示无限制。
  • 远程连接超时(秒):在客户端收到错误消息前,等待远程连接响应的最长时间。
  • 远程登录超时(秒):在客户端收到错误消息前,等待登录响应的最长时间。
  • 查询超时(秒):在应用程序中执行查询时,等待其完成的最长时间,默认为 -1(无限制)。
  • 默认语言:服务器的默认语言设置。
  • 游标默认行为:设置全局游标的默认行为。

f. 数据库设置

  • 默认数据库:新登录用户首次连接时默认进入的数据库。
  • 默认语言:新登录用户默认使用的语言。
  • 备份/还原
    • 默认备份压缩:默认的备份压缩选项(NONE, COMPRESS, USE_DEFAULT)。
    • 最大备份文件大小 (GB):限制单个备份文件的大小。
  • 故障转移:配置 Always On 可用性组时,用于设置故障转移超时时间。
  • 恢复间隔:指定 SQL Server 恢复所有数据库所需的最长时间(分钟),默认为 0,表示自动管理。

g. 高级

  • 故障转移超时 (秒):Always On 可用性组设置。
  • 允许触发器对同一表进行递归调用:控制递归触发器的行为。
  • 远程 proc 传输:允许服务器执行存储过程调用,存在安全风险,默认关闭。
  • 使用查询优化器的最大并行度:限制查询优化器在并行计划中使用的最大处理器数,默认为 0,表示使用所有可用核心。

h. 数据库镜像

  • 此页面配置数据库镜像的高可用性设置(在较新版本中已被 Always On 取代)。

i. Always On 可用性组

  • 配置 Always On 可用性组的高可用性设置。

j. 历史记录记录

  • 配置 SQL Server 代理作业历史记录的保留期。

k. 权限

  • 显示当前登录到服务器的用户及其权限。

通过 T-SQL 查询服务器属性

对于需要自动化、监控或生成报告的场景,使用 T-SQL 是最佳选择。

如何查看SQL Server服务器属性?-图2
(图片来源网络,侵删)

a. 使用 @@VERSION 函数

获取 SQL Server 和操作系统的详细版本信息。

SELECT @@VERSION AS 'SQL Server and OS Version';

示例输出:

Microsoft SQL Server 2025 (RTM-CU15) (KB5005403) - 15.0.2000.5 (X64)   Oct  2 2025 18:48:51   Copyright (C) 2025 Microsoft Corporation  Enterprise Edition (64-bit) on Windows Server 2025 Datacenter 10.0 <X64> (Build 17763:1577)

b. 使用系统函数和视图

SQL Server 提供了丰富的系统函数和视图来获取服务器属性。

目的 T-SQL 语句 说明
服务器名称 SELECT @@SERVERNAME; 返回 SQL Server 实例的名称。
实例名 SELECT @@SERVICENAME; 返回 SQL Server 服务的名称,默认为 MSSQLSERVER(默认实例)。
服务器属性 SELECT * FROM sys.server_properties; 返回一个包含各种服务器属性名称和值的表格。
服务器配置选项 SELECT * FROM sys.configurations; 返回服务器的运行时配置选项,如 max server memory, 'fill factor' 等。
内存信息 SELECT total_physical_memory_kb / 1024 AS Total_MB, available_physical_memory_kb / 1024 AS Available_MB FROM sys.dm_os_sys_memory; 使用动态管理视图获取实时的内存信息。
CPU 信息 SELECT cpu_count, hyperthread_ratio, physical_memory_kb / 1024 AS Total_MB FROM sys.dm_os_sys_info; 获取 CPU 核心数、超线程比例和总内存。
登录审核 SELECT name, value FROM sys.configurations WHERE name = 'default trace enabled' OR name = 'remote access'; 检查特定配置选项的值。

c. 使用 sp_serverinfo 存储过程

这是一个旧版的存储过程,但仍然有效,可以获取一组标准的服务器属性。

如何查看SQL Server服务器属性?-图3
(图片来源网络,侵删)
EXEC sp_serverinfo;

它会返回一个包含属性名称、属性值和数据类型的列表。


通过系统存储过程查看

除了 sp_serverinfo,还有一些存储过程可以提供特定信息。

  • sp_helpserver:显示远程和链接服务器的信息。

  • sp_configure:查看和更改服务器配置选项,需要先执行 RECONFIGURE 才能使某些更改生效。

    -- 查看所有配置选项
    EXEC sp_configure;
    -- 查看特定选项,如最大服务器内存
    EXEC sp_configure 'max server memory';

总结与最佳实践

  1. 首选图形界面:对于日常管理和快速查看,SSMS 的“服务器属性”窗口是最直观、最方便的工具。
  2. 首选 T-SQL:对于自动化运维、性能监控、生成报表以及需要脚本化管理的场景,T-SQL 查询系统视图和函数是最佳选择,因为它更灵活、更可靠。
  3. 重要调优点
    • 最大服务器内存:在生产环境中,务必根据服务器上其他应用程序的需求,合理设置此值,为操作系统和其他程序留出足够内存(通常建议留 2-4GB 或更多)。
    • 身份验证模式:在可能的情况下,始终使用 Windows 身份验证模式,安全性更高。
    • 登录审核:至少设置为 “仅失败”,这对于安全审计和排查登录问题至关重要。
  4. 动态管理视图 (DMV):对于实时监控(如内存、CPU、连接数),应优先使用 sys.dm_os_sys_memory, sys.dm_os_sys_info, sys.dm_exec_requests 等动态管理视图,因为它们反映的是服务器当前状态,而不是静态配置。

通过以上三种方式,你可以全面地了解和管理 SQL Server 服务器的各种属性。

分享:
扫描分享到社交APP
上一篇
下一篇