統一查詢指令
-- 標準屬性查詢(適用 2000/2005/2008/2012/2014/2016/2017/2019/2022)
SELECT
SERVERPROPERTY('ProductVersion') AS Version,
SERVERPROPERTY('ProductLevel') AS Level,
SERVERPROPERTY('Edition') AS Edition;
-- 快速查詢(含作業系統資訊)
SELECT @@VERSION;
版本號解碼規則
格式:MM.nn.bbbb.rr
- MM:主版本號
- nn:次版本號
- bbbb:建置編號
- rr:修訂編號
SQL Server 2008 R2 為次要升級:主版本號相同 (10),次版本號遞增 (10.50.xxx)。
SQL Server 2000 版本對照表
| 版本號 | 版本說明 |
| 8.00.194 | RTM |
| 8.00.384 | SP1 |
| 8.00.534 | SP2 |
| 8.00.760 | SP3 / SP3a |
| 8.00.2039 | SP4 |
SQL Server 2005 版本對照表
| 版本號 | 版本說明 |
| 9.00.1399 | RTM |
| 9.00.2047 | SP1 |
| 9.00.3042 | SP2 |
| 9.00.4035 | SP3 |
| 9.00.5000 | SP4 |
SQL Server 2008 / 2008 R2 版本對照表
| 版本號 | 版本說明 |
| 10.0.1600.22 | 2008 RTM |
| 10.00.2531.00 | 2008 SP1 |
| 10.00.4000.00 | 2008 SP2 |
| 10.50.1600.1 | 2008 R2 RTM(關鍵識別:次版本號 50) |
| 10.50.2500.0 | 2008 R2 SP1 |
| 10.50.4000.0 | 2008 R2 SP2 |
| 10.50.6000.34 | 2008 R2 SP3 |
後續版本快速識別
| 版本 | 主版本號 | 範例版本號 |
| SQL Server 2012 | 11 | 11.0.xxxx |
| SQL Server 2014 | 12 | 12.0.xxxx |
| SQL Server 2016 | 13 | 13.0.xxxx |
| SQL Server 2017 | 14 | 14.0.xxxx |
| SQL Server 2019 | 15 | 15.0.xxxx |
| SQL Server 2022 | 16 | 16.0.xxxx |
實用查詢範例
-- 判斷是否為 R2 版本
CASE
WHEN SERVERPROPERTY('ProductVersion') LIKE '10.50.%' THEN 'SQL Server 2008 R2'
WHEN SERVERPROPERTY('ProductVersion') LIKE '10.0.%' THEN 'SQL Server 2008'
ELSE 'Other Version'
END AS VersionType;
-- 取得主要版本號
SELECT CAST(LEFT(CAST(SERVERPROPERTY('ProductVersion') AS VARCHAR(20)), 2) AS INT) AS MajorVersion;
總結
- 使用
SERVERPROPERTY('ProductVersion') 為標準查詢方式
- 關注 次版本號 (nn) 區分 R2 等次要版本
@@VERSION 提供完整資訊含 OS、建置日期、平台
- 版本號遞增規律可用於升級規劃與相容性檢查