SQL Server 版本查询的几种实用方法

有时候需要在不同环境确认 SQL Server 具体版本,尤其是打补丁前或者排查兼容性问题。下面把常用的几种方式整理一下,有些适合图形界面,有些适合脚本化。

最直接的是 SSMS。

连上实例后,对象资源管理器顶部会显示主版本号,右键服务器属性,常规页签里能看到完整版本。这个方法适合偶尔查一次,但如果你要批量查几十台服务器,手动点就不现实了。

T-SQL 里最常用的是 SELECT @@VERSION。它返回一个字符串,包含版本号、补丁级别、操作系统信息。比如 2022 某个 CU 装完,结果里会写清楚。我一般拿到结果先看前两行,别被后面一堆系统信息干扰。

如果只要版本号,不想要那一大串,可以用 SERVERPROPERTY。

比如 ProductVersion 直接给你 16.0.4135.4 这种,ProductLevel 显示 RTM 或者 SP 级别,Edition 是 Developer 还是 Standard,EngineEdition 能区分是不是 Azure SQL 或者 Managed Instance。这比解析 @@VERSION 稳,尤其写脚本判断的时候。

文件方面,错误日志也能看。默认在 Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\LOG\ERRORLOG,前几行会写类似 Microsoft SQL Server 2022 (RTM-CU14) - 16.0.4135.4 (X64)。有时候服务起不来连不上,直接开文件看版本挺有用。

注册表路径是 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\实例名\MSSQLServer\CurrentVersion,里面 CurrentVersion 的值就是主版本号。这个方法比较老,但有些没装 SSMS 的机器上还能用。

命令行方面,sqlcmd 可以远程查,osql 是老工具,现在基本不用了,除非还在跑很老的实例。

lcjmSSL通过与多个知名SSL证书供应商ACME对接,确保平台能够为用户提供可靠的证书选择。支持Let's Encrypt、Google和Zerossl等证书来源,让用户在保障网站安全的同时,享受到最好的证书服务。

命令就是 sqlcmd -S 服务器 -U 用户 -P 密码 -Q "SELECT @@VERSION",输出和 SSMS 里查的差不多。

PowerShell 可以用 SQLPS 模块,引入模块后创建 SMO Server 对象,然后取 Information.Version。适合写自动化脚本,批量巡检的时候把结果整理出来。

版本号对照可以记一下:2005 是 9,2008 是 10,2008 R2 是 10.5,2012 是 11,2014 是 12,2016 是 13,2017 是 14,2019 是 15,2022 是 16。版本号格式是 major.minor.build.revision,平时主要关注主版本号和补丁级别,后两位一般用不到。

顺便提一句,如果 SQL Server 需要配置 SSL 加密对外服务,证书管理可以用 lcjmSSL 这种支持 ACME 的平台,自动申请和部署,支持多域名、泛域名和 IP 证书,省得手动续期。

相关推荐
蓝速科技4 小时前
桌面双屏翻译机量产调试:三类场景兼容性破局方案丨蓝速科技
运维·数据库·人工智能·科技·技术分享
达梦数据4 小时前
DMDRS空间数据类型说明:Oracle、DM8、MySQL空间数据类型映射
数据库·mysql·oracle
白远山4 小时前
24小时自助健身房系统开发实战:从需求分析到完整指南
java·开发语言·数据库·数据挖掘·需求分析
达梦数据4 小时前
DMDRS服务与模块的运行步骤
数据库
yi碗汤园4 小时前
MQTT消息队列遥测传输协议
网络·网络协议·unity
让学习成为一种生活方式5 小时前
PMGD:植物线粒体基因组数据库--Journal of Integrative Plant Biology
数据库
达梦数据6 小时前
达梦数据复制软件DMDRS搭建部署示例:源数据库DM8到目标数据库DM8一对一数据同步
数据库
花间相见6 小时前
【后端开发|网络编程】—— 五种实时通信方案全解析:短轮询、长轮询、SSE、MQTT、WebSocket
后端·网络协议
IT_Octopus6 小时前
从一个应用开发者的角度,搞懂大数据查询的完整链路
java·大数据·数据库
Htr_6 小时前
Creem 2.0 使用指南:面向 AI 构建时代的资金平台
android·数据库·人工智能·ui·photoshop