待补充...
一、 软件生命周期
SQL Server生命周期管理中有很多概念,为避免混淆,我们先以一幅图来说明各种术语的含义,其中包括一些软件工程中的概念。
alpha版本:随着正在开发的产品的新版本,可以将其提供给选定的客户和社区成员以进行早期测试。
beta版本(CTP):随着开发的进展和产品越来越精细,它被提供给更广泛的受众。这曾经被称为beta版本,例如beta 1,beta 2等。但是几年前,Microsoft改变了SQL Server预发布的术语。它们现在被称为CTP (社区技术预览)
RC(Release Candidate):产品进入发布之前的最后阶段,功能集已完成并且产品正在进行最终测试。
GA(General Availability)版本:当产品经历严格的测试后,确定不需要有更多的变化时的版本。有时也称作该产品已经golden。
RTM(Released To Manufacturing):一旦将这些转交给公司大规模生产介质(CD,DVD等),就到了RTM阶段,这是产品的原始发布版本,从光盘或 MSDN 下载的默认版本。
通常在RTM附近的一段时间,产品版本称为launched。launch 的时间可能与产品实际可供购买的时间有关,也可能没有。launch 更关注与营销和产品功能而非可用性。
最后产品发布了(released)!它可以从正常的分销渠道购买。
随着时间的推移,开发团队创建热门修复程序(HotFixes),以解决影响某些客户的特定产品问题。
当问题影响过于广泛时,会发布GDR(通用分发版本),以便所有客户都能收到更新。GDR解决了具有广泛客户影响或具有安全隐患或两者兼而有之的问题。GDR保持在最低限度,由Microsoft在适当时确定并发布。
QFE(快速修复工程)是指厂商为了及时升级功能或者修改缺陷而做的改动(支持)。 QFE 更新文件一般所做的测试相对较少,因此其稳定性普遍不如 GDR。
由于HotFixes,QFE和GDR旨在快速解决特定客户遇到的特定问题,因此可以经常发布。这种快速性使得许多IT商店跟不上发布的步伐。因此,创建了CU(累积更新),其中包含所有适用的修补程序。
收集到足够大的更改集后,将发布SP(Service Pack)。从历史上看,SP也是用于提供GA时尚未准备好的新功能的发布工具。例如,数据库镜像在SP1中可用。SP2为性能仪表板提供了自定义报告。微软此后表示,SP不会被用作新功能的发布工具。
二、 Microsoft生命周期策略
Microsoft提供业界领先的生命周期策略,为客户提供一致、透明和可预测的软件支持和服务指南。
1. 类型
1) Fixed Lifecycle Policy(固定生命周期策略)
products with defined end-of-support dates(具有已定义的支持终止日期的产品)
l Business, Developer and Desktop Operating Systems(业务,开发人员和桌面操作系统)
l Consumer and Multimedia(消费者和多媒体)
l Device Operating Systems(设备操作系统)
2) Modern Lifecycle Policy(现代生命周期策略)
products with continuous support and servicing(持续支持和服务的产品)
l Azure策略
2. 涵盖产品及生效时间
2002年10月15日,业务,开发人员和桌面操作系统软件政策生效。
2011年1月,Microsoft制定了在线服务生命周期政策。
2016年8月,微软制定了现代生命周期政策。
2017年3月,Microsoft将其产品和服务的生命周期策略分为固定或现代。
固定策略定义了支持终止日期,包括业务,开发人员和桌面操作系统策略,消费者和多媒体策略以及设备操作系统策略。现代策略遵循持续的服务和支持模式,没有支持终止日期,支持可用且客户保持最新版本。在结束对现代策略管辖产品的支持之前,Microsoft将提供至少12个月的通知。
对于业务,开发人员和桌面操作系统软件,Microsoft提供至少10年的支持。生命周期结合了5年的主流支持和5年的扩展支持。
三、 SQL Server服务生命周期
1. SQL Server服务的背景
从历史上看,我们在主要版本发布后每2个月发布一次累积更新(CU),大致每年发布一次Service Pack(SP),其中包含所有先前CU的修复程序,以及可能需要本地化的任何功能完整性或可支持性增强功能。
直到SQL Server 2016之前(包括2016),RTM和任何后续SP都会建立新的产品基线。对于每个新的基线,CU在下一个SP发布后大约12个月,或者在产品生命周期的主流阶段结束时提供,以先到者为准。
对于整个产品生命周期,我们会在需要时发布GDR,仅包含与安全相关的修订。
2. 服务生命周期
SQL Server 2016 的服务生命周期没有变化:
- 第0-5年(主流支持):通过CU解决安全性和功能问题。通过GDR解决安全问题。
- 第6-10年(扩展支持):仅修复安全或关键功能问题。
- 第11-16年(高级保证):扩展支持的可选付费扩展
3. 现代服务模型(MSM)
从SQL Server 2017开始,我们采用简化的,可预测的主流服务生命周期:
1) SP不再可用,只提供CU和GDRs
2) CU将像SPs那样包含本地化内容
3) CU将首先频繁地发布,然后不那么频繁:
- 前12个月在每月的第三个星期二发布,
- 而后4年(主流生命周期为5年)将每季度(每3个月)发布一次
2018年10月8日对上述内容进行了更改:
从SQL Server 2017 CU13开始,CU将每两个月而不是每季度交付一次。CU13定于12/18/2018。我们可能会重新评估是否需要在主流支持的第3年采用季度节奏。
四、 SQL Server服务生命周期列表
这个表非常长,此处仅列出sqlserver 2017相关信息,完整版参考:
https://support.microsoft.com/en-us/lifecycle/search?alpha=sql%20server
可以在官方文档看到SQL Server 2017 (14.x) on Linux 版本信息,具体信息可参考:
https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-release-notes?view=sql-server-2017#CU10
发行版本 |
版本 |
发布日期 |
14.0.3048.4 |
2018-12-18 |
|
14.0.3045.24 |
2018-10-24 |
|
14.0.3038.14 |
2018-09-20 |
|
14.0.3037.1 |
2018-08-27 |
|
14.0.3035.2 |
2018-08-18 |
|
14.0.2002.14 |
2018-08-18 |
|
14.0.3030.27 |
2018-07-18 |
|
14.0.3029.16 |
2018-06-21 |
|
14.0.3026.27 |
2018-05-24 |
|
14.0.3025.34 |
2018-04-19 |
|
14.0.3023.8 |
2018-03-20 |
|
14.0.3022.28 |
2018-02-20 |
|
14.0.3015.40 |
2018-01-03 |
|
14.0.2000.63 |
2018-01-03 |
|
14.0.3008.27 |
2017-11-28 |
|
14.0.3006.16 |
2017-10-24 |
|
14.0.1000.169 |
2017-10-02 |
五、 SQL Server版本信息
对于select @@version,将返回以下信息。
- SQL Server版本
- 补丁信息
- 处理器架构
- SQL Server构建日期
- 版权声明
- SQL Server版本
- 操作系统版本
对于Azure SQL数据库,将返回以下信息。
- 版本 - “Microsoft SQL Azure”
- 产品级别 - “(RTM)”
- 产品版本
- 建立日期
- 版权声明
例如:
内容 |
含义 |
Microsoft SQL Server 2017 |
主版本信息 |
(RTM-CU10) (KB4342123) - 14.0.3037.1 (X64) |
RTM-累积更新10,版本号为14.0.3037.1 |
Jul 27 2018 09:40:27 |
SQL Server构建日期 |
Copyright (C) 2017 Microsoft Corporation Enterprise Edition: Core-based Licensing (64-bit) |
版权声明与SQL Server版本 |
Linux (CentOS Linux 7 (Core)) |
操作系统信息 |
https://www.mssqltips.com/sqlservertip/2563/understanding-the-sql-server-select-version-command/
六、 SQL Server补丁
我们再次回顾一下补丁相关的几个概念:
- n RTM : 表示 Release to Manufacturing,这是产品的原始发布版本,从光盘或 MSDN 下载的默认版本。不过现在下载 SQL Server 版本时,也有集成了 SP 的版本。
- n Hotfix :需要修复的某个问题,每年 SQL Server 会出现许多bug或漏洞,这些问题的修复则被定义为 Hotfix。
- n Cumulative Update(CU):累计更新包,由 Hotfix 组成。每个最新的CU版本都包含之前的CU中的Hotfix。CU的安装基于原始版本(RTM)或 SP,测试不如SP全面。
- n GDR(General Distribution Release):与 CU 不一样,GDR 仅仅包含严重问题的更新。
- n Service Package(SP): SP是集成 Hotfix 最多的包,这些 Hotfix是经过官方完整测试过的。SP是SQL Server产品版本最大的一次补丁文件,有之前CU里的所有内容,每12至18月发布一次。
从 SQL server 2017 开始,SP 将不再提供,后期补丁使用 CU。而 2017 之前的版本,还是会继续发布 SP 的。
每一个最新的 CU 都包含之前的 CU 集成的问题修复,每一个 SP 也都包含之前 SP 包含的问题修复,如图:
1. 更新获取方法
以SQL Server 2017 RTM (KB4293803)为例
1) Windows Update
此更新可通过Windows Update获得。打开自动更新时,将自动下载并安装此更新。有关如何启用自动更新的详细信息,请参阅Windows Update:常见问题解答。
2) Microsoft Update目录
要获取此更新的独立程序包,请转至Microsoft Update目录网站。
3) Microsoft下载中心
可以从Microsoft下载中心下载以下文件:立即下载包
有关如何下载Microsoft支持文件的更多信息,请单击下面的文章编号,以转到Microsoft知识库中相应的文章:如何从在线服务获取Microsoft支持文件
2. 适用于Linux平台和容器上的SQL Server 2017
有关在Linux操作系统或Docker容器上获取和安装此更新的信息,请参阅:
- 配置存储库以在Linux上安装和升级SQL Server
- Linux上的SQL Server 2017发行说明
- 适用于Docker Engine的Linux上Microsoft SQL Server的官方映像
七、 参考
https://blogs.msdn.microsoft.com/sqlreleaseservices/a-changed-approach-to-service-packs/
https://thesqldude.com/tag/gdr/
https://blog.csdn.net/kk185800961/article/details/72436415
https://www.slideshare.net/AmazonWebServices/best-practices-running-sql-server-on-aws
Microsoft To Deliver Monthly Feature Updates to SQL Server 2017
https://redmondmag.com/articles/2017/09/29/sql-server-2017-monthly-feature-updates.aspx
https://support.microsoft.com/en-us/hub/4095338/microsoft-lifecycle-policy
https://support.microsoft.com/en-us/lifecycle/search?alpha=sql%20server
https://support.microsoft.com/en-us/help/4047326/support-policy-for-microsoft-sql-server
https://support.microsoft.com/en-us/help/17140/lifecycle-faq-general-policy-questions
Lifecycle FAQ—Azure
https://support.microsoft.com/en-us/help/18486/lifecycle-faq-azure
Best Practices running SQL Server on AWS
https://www.slideshare.net/AmazonWebServices/best-practices-running-sql-server-on-aws
https://docs.microsoft.com/zh-cn/azure/sql-database/
What is SQL Server on Azure Virtual Machines? (Windows)
SQL Server on Azure Virtual Machines (Linux)
How to determine the version, edition, and update level of SQL Server and its components