软件版本选型
如何确定 SQL Server 的版本和版本?及其组件
所有 SQL Server 版本的版本
Security Update Guide
https://portal.msrc.microsoft.com/en-us/security-guidance
版本与补丁信息
补丁信息
- CTP (Community Technology Preview):社区预览版(beta发布)
- RC(Release Candidate):发布候选
- RTM (Release To Manufacturing):量产版,正式发布时候的版本。这个版本就是从MSDN下载下来的或者购买到的SQL Server安装光盘里的版本。
- Hotfix:需要修复的某个问题
- CU(Cumulative Update):累积更新。每个最新的CU都包含基于 RTM/SP 以来的累计更新。SQLServer累计更新CU被认证为与SP补丁包相同的级别。累计更新不是完全回归测试。CU 每8个星期发布一次,依次有 CU1、CU2……等。
- SP(Service Package):SP补丁包。更大的热修复集合,并且已完全回归测试。所有SQLServer补丁包都是累积的,意思就是新出的补丁包都包含以前发布过的SP补丁包中包含的所有修复补丁。
- GDR(General Distribution Release):通用分发发布。GDR不包含累积更新(CUs),它仅仅包含严重的更新,GDR 更新文件一般都进行了大量的严格测试,因此补丁的稳定性相对较高
- QFE(Quick-Fix Engineering):快速修复程序。QFE包含累积更新(CUs),QEF更新文件测试相对较少,其稳定性普遍不如 GDR
- CVE:通用漏洞列表(Common Vulnerabilities & Exposures)。众所周知的信息安装漏洞。
- OD:根据需求的热修复补丁。OD只会根据客户的要求去发布来修复某个场景出现的问题,OD热修复补丁可能会也可能不会发布给公众。
- COD:关键需求热修复补丁。如果检测到SQLServer有严重的稳定性或功能性问题,那么将COD热修复定义为关键的。
补丁发布策略
SQL Server 2017之后,采用(MSM)Modern Servicing Model发布策略。以前版本使用(ISM)Incremental Servicing Model发布方式。
-
ISM
- 每2个月发布一次累积更新(CU)
- 大约1年发行一次Service Pack (SP)
-
MSM
- 不使用SP,只有CU和GDR
- CU将适应本地化的内容,从而使新功能的完整性和可支持性增强更新更快。(包含了原来SP里面的本地化内容)
- CU在产品早期会更频繁地交付,后期将会减少。整个5年主流生命周期的前12个月每个月,其余4年每个季度。
- CU将在每月的第三周的星期二进行发布
维护周期
- 0-5年(主流支持):通过CU进行安全和功能问题解决
- 6-10年(扩展支持):安全或关键功能问题
- 11-16年(高级保证):可扩展支持的可选付费扩展(无范围更改)
查看软件版本
-- 查看版本的SQL
SELECT SERVERPROPERTY(‘ProductVersion‘) AS ‘产品版本编号‘
SELECT SERVERPROPERTY(‘ProductLevel‘)AS ‘当前补丁版本‘
SELECT SERVERPROPERTY(‘Edition‘)AS ‘软件版本‘
SELECT SERVERPROPERTY(‘MachineName‘)AS ‘服务器名称‘
SELECT SERVERPROPERTY(‘ProductVersion‘) AS ‘产品版本编号‘, SERVERPROPERTY(‘ProductLevel‘)AS ‘当前补丁版本‘, SERVERPROPERTY(‘Edition‘)AS ‘软件版本‘, SERVERPROPERTY(‘MachineName‘)AS ‘服务器名称‘
go
-- 查看SQLServer的代号版本
select (@@microsoftversion / 0x1000000) & 0xFF as ‘Major主版本‘
select (@@microsoftversion / 0x10000) & 0x00FF as ‘Minor次要版本‘
select @@microsoftversion & 0x0000FFFF as ‘Build版本‘
select (@@microsoftversion / 0x1000000) & 0xFF as ‘Major主版本‘, (@@microsoftversion / 0x10000) & 0x00FF as ‘Minor次要版本‘, @@microsoftversion & 0x0000FFFF as ‘Build版本‘
go