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 证书,省得手动续期。

相关推荐
Omics Pro24 分钟前
整合多组学分析+生物医学发现!对话式多智能体AI
数据库·人工智能·mysql·机器学习·自然语言处理
严同学正在努力25 分钟前
Oracle Data Guard 容灾实战:从搭建到切换,一篇讲透
数据库·ai·oracle
oradh33 分钟前
Oracle CTAS+rename 表重建方法操作总结
数据库·oracle·ctas·oracle表重建方法
Dovis(誓平步青云)36 分钟前
同一条路线在手机和平板上怎样换一种排版
android·开发语言·数据库·智能手机·音视频
Shadow(⊙o⊙)39 分钟前
CMake实战Http+编译、链接选项的使用
网络·网络协议·http
czhc114007566340 分钟前
EF Core 数据访问三件套:池化 · 仓储 · 不跟踪
数据库
whcyhhh42 分钟前
头歌实践教学平台:大数据存储2023(十三1)
大数据·数据库·python
TDengine (老段)1 小时前
TDengine 应用案例 — IT 运维与可观测性
大数据·运维·数据库·制造·时序数据库·tdengine·涛思数据
疯狂打码的少年1 小时前
【数据库技术】关系代数连接运算(等值连接/自然连接/外连接)
jvm·数据库·笔记·oracle