本页包含 Microsoft SQL Server JDBC 驱动程序的支持矩阵和支持生命周期策略。
Microsoft JDBC Driver 支持生命周期矩阵和策略
JDBC 驱动程序支持遵循 固定生命周期策略,从每个主版本的驱动程序发布日期起,至少有五年的主流支持。 必须在次要版本发布日期的 12 个月内安装最新的次要版本,才能在主版本主流支持期期间继续获得完全支持。
Microsoft JDBC Driver 不提供扩展和自定义支持选项。
以下 Microsoft JDBC 驱动程序主版本在所示的主流支持结束日期之前均受支持。 每个次要版本必须在指定的升级截止时间之前升级到最新的次要版本才能继续接收支持:
| 主要版本 | 主流支持终止 | 驾驶员姓名 | 小版本 | 升级方式 | 适用的 JAR 文件 |
|---|---|---|---|---|---|
| 13 | 2031 年 3 月 13 日 | Microsoft JDBC Driver 13.4 for SQL Server | 13.4 | 当前版本 | mssql-jdbc-13.4.0.jre11.jarmssql-jdbc-13.4.0.jre8.jar |
| Microsoft JDBC Driver 13.2 for SQL Server | 13.2 | 2027 年 3 月 13 日 | mssql-jdbc-13.2.0.jre11.jarmssql-jdbc-13.2.0.jre8.jar |
JDBC 驱动程序 12.x 及更早版本自次要版本发布之日起享有五年的主流支持:
| 驾驶员姓名 | 驱动程序包版本 | 适用的 JAR 文件 | 主流支持终止 |
|---|---|---|---|
| Microsoft JDBC Driver 12.10 for SQL Server | 12.10 | mssql-jdbc-12.10.0.jre11.jarmssql-jdbc-12.10.0.jre8.jar |
2030 年 1 月 31 日 |
| Microsoft JDBC Driver 12.8 for SQL Server | 12.8 | mssql-jdbc-12.8.0.jre11.jarmssql-jdbc-12.8.0.jre8.jar |
2029 年 7 月 31 日 |
| Microsoft JDBC Driver 12.6 for SQL Server | 12.6 | mssql-jdbc-12.6.0.jre11.jarmssql-jdbc-12.6.0.jre8.jar |
2029 年 1 月 31 日 |
| Microsoft JDBC Driver 12.4 for SQL Server | 12.4 | mssql-jdbc-12.4.0.jre11.jarmssql-jdbc-12.4.0.jre8.jar |
2028 年 7 月 31 日 |
| Microsoft JDBC Driver 12.2 for SQL Server | 12.2 | mssql-jdbc-12.2.0.jre11.jarmssql-jdbc-12.2.0.jre8.jar |
2028 年 1 月 31 日 |
| Microsoft JDBC Driver 11.2 for SQL Server | 11.2 | mssql-jdbc-11.2.0.jre18.jarmssql-jdbc-11.2.0.jre17.jarmssql-jdbc-11.2.0.jre11.jarmssql-jdbc-11.2.0.jre8.jar |
2027 年 8 月 4 日 |
| Microsoft JDBC Driver 10.2 for SQL Server | 10.2 | mssql-jdbc-10.2.0.jre17.jarmssql-jdbc-10.2.0.jre11.jarmssql-jdbc-10.2.0.jre8.jar |
2027 年 1 月 31 日 |
| Microsoft JDBC Driver 9.4 for SQL Server | 9.4 | mssql-jdbc-9.4.1.jre16.jarmssql-jdbc-9.4.1.jre11.jarmssql-jdbc-9.4.1.jre8.jar |
2026 年 7 月 30 日 |
不再支持以下Microsoft JDBC 驱动程序:
| 驾驶员姓名 | 驱动程序包版本 | 主流支持终止 |
|---|---|---|
| Microsoft JDBC Driver 9.2 for SQL Server | 9.2 | 2026 年 1 月 29 日 |
| Microsoft JDBC Driver 8.4 for SQL Server | 8.4 | 2025 年 7 月 31 日 |
| Microsoft JDBC Driver 8.2 for SQL Server | 8.2 | 2025 年 1 月 31 日 |
| Microsoft JDBC 驱动程序 7.4 适用于 SQL Server | 7.4 | 2024 年 7 月 31 日 |
| Microsoft JDBC Driver 7.2 for SQL Server | 7.2 | 2024 年 1 月 31 日 |
| Microsoft JDBC 驱动程序 7.0 适用于 SQL Server | 7.0 | 2023 年 7 月 31 日 |
| Microsoft JDBC Driver 6.4 for SQL Server | 6.4 | 2023 年 2 月 27 日 |
| Microsoft JDBC Driver 6.2 for SQL Server | 6.2 | 2022 年 6 月 30 日 |
| Microsoft JDBC Driver 6.0 for SQL Server | 6.0 | 2021 年 7 月 14 日 |
| Microsoft SQL Server JDBC 驱动程序 4.2 | 4.2 | 2020 年 8 月 24 日 |
| Microsoft SQL Server JDBC 驱动程序 4.1 | 4.1 | 2019 年 12 月 12 日 |
| Microsoft JDBC Driver 4.0 for SQL Server | 4.0 | 2017 年 3 月 6 日 |
| Microsoft SQL Server JDBC 驱动程序 3.0 | 3.0 | 2015 年 4 月 23 日 |
| Microsoft SQL Server JDBC 驱动程序 2.0 | 2.0 | 2012 年 12 月 31 日 |
| Microsoft SQL Server 2005 JDBC 驱动程序 1.2 | 1.2 | 2011 年 6 月 25 日 |
| Microsoft SQL Server 2005 JDBC 驱动程序 1.1 | 1.1 | 2011 年 6 月 25 日 |
| Microsoft SQL Server 2005 JDBC 驱动程序 1.0 | 1.0 | 2011 年 6 月 25 日 |
| Microsoft SQL Server 2000 JDBC 驱动程序 | 2000 | 2010 年 7 月 9 日 |
关于依赖漏洞的支持策略
Microsoft JDBC Driver for SQL Server 在其 Maven 包定义中定义外部依赖项。 Maven 工具在应用程序生成时解析这些依赖项。 包定义在每个次要版本中都使用直接依赖项的安全版本进行更新。 仅当可以更新依赖项而不导致可传递的依赖项兼容性中断时,才会在受支持版本的热修复中更新具有已知漏洞的依赖项。 如果无法以这种方式更新易受攻击的依赖项,则由应用程序来更新依赖项并确保它们没有依赖项冲突。
SQL 版本兼容性
所有当前支持的 JDBC 驱动程序版本(如上一矩阵所示)都支持所有受支持的 Microsoft SQL 版本,包括:
- Microsoft SQL Server
- Azure SQL 数据库
- Azure Synapse Analytics
- Azure SQL 托管实例
- Microsoft Fabric 中的 SQL 数据库
- Microsoft Fabric 数据仓库
功能支持独立于与服务器版本的兼容性。 有关功能支持的详细信息,请参阅每个驱动程序版本的 驱动程序功能支持矩阵 或发行说明。
为获得最佳体验,请使用最新的 JDBC 驱动程序。
Java 和 JDBC 规格支持
| JDBC 驱动程序版本 | JRE 版本 | JDBC API 版本 |
|---|---|---|
| 13.4 | 1.8, 11, 17, 21, 25 | 4.2、4.3(部分) |
| 13.2 | 1.8, 11, 17, 21, 24 | 4.2、4.3(部分) |
| 12.10 | 1.8, 11, 17, 21, 23 | 4.2、4.3(部分) |
| 12.8 | 1.8、11、17、21、22 | 4.2、4.3(部分) |
| 12.6 | 1.8、11、17、20 | 4.2、4.3(部分) |
| 12.4 | 1.8、11、17、20 | 4.2、4.3(部分) |
| 12.2 | 1.8、11、17、19 | 4.2、4.3(部分) |
| 11.2 | 1.8、11、17、18 | 4.2、4.3(部分) |
| 10.2 | 1.8、11、17 | 4.2、4.3(部分) |
| 9.4 | 1.8、11、16 | 4.2、4.3(部分) |
| 9.2 | 1.8、11、15 | 4.2、4.3(部分) |
| 8.4 | 1.8、11、14 | 4.2、4.3(部分) |
| 8.2 | 1.8、11、13 | 4.2、4.3(部分) |
| 7.4 | 1.8、11、12 | 4.2、4.3(部分) |
| 7.2 | 1.8、11 | 4.2、4.3(部分) |
| 7.0 | 1.8、10 | 4.2、4.3(部分) |
| 6.4 | 1.7、1.8、9 | 4.1、4.2、4.3(部分) |
| 6.2 | 1.7、1.8 | 4.1、4.2 |
| 6.1 | 1.7、1.8 | 4.1、4.2 |
| 6.0 | 1.7、1.8 | 4.1、4.2 |
| 4.2 | 1.7、1.8 | 4.1、4.2 |
| 4.1 | 1.7 | 4.0 |
| 4.0 | 1.5、1.6、1.7 | 3.0、4.0 |
| 3.0 | 1.5、1.6、 | 3.0、4.0 |
| 2.0 | 1.5、1.6 | 3.0、4.0 |
| 1.2 | 1.4、1.5、1.6 | 3.0 |
| 1.1 | 1.4 | 3.0 |
| 1.0 | 1.4 | 3.0 |
| 2000 | 1.4 | 3.0 |
Java 4.3 部分兼容性
JRE 11+ 的 JAR 包是基于 JDBC 4.3 接口集构建的,但并非 JDBC 4.3 中新增的每个方法都已实现。 下表总结了当前驱动程序(7.0 及更高版本)的运行时行为。
| JDBC 4.3 新增内容 | Behavior |
|---|---|
Connection.beginRequest()Connection.endRequest() |
支持. 由连接池用于标记请求边界。 |
Statement.enquoteLiteralenquoteIdentifierisSimpleIdentifierenquoteNCharLiteral |
通过 JDK 在 java.sql.Statement 上的默认实现提供支持。 |
Connection.setShardingKeyConnection.setShardingKeyIfValidDataSource.createConnectionBuilderXADataSource.createXAConnectionBuilderConnectionPoolDataSource.createPooledConnectionBuilderDataSource.createShardingKeyBuilder |
引发 SQLFeatureNotSupportedException。 |
依赖于 JDBC 4.3 分片 API 的应用程序需要备用驱动程序或自定义实现;Microsoft JDBC Driver for SQL Server不支持分片。
支持的操作系统
Microsoft JDBC 驱动程序可在任何支持使用 Java 虚拟机 (JVM) 的操作系统上工作。 一些常用的平台包括 Windows、Windows Server、Linux、Unix、AIX、macOS 等。
JDBC 产品团队在 Windows、Ubuntu Linux 和 macOS 上测试了驱动程序。
应用程序服务器支持
针对各种应用程序服务器对 Microsoft SQL Server JDBC 驱动程序进行了测试。 请咨询应用程序服务器供应商了解有关与其产品兼容的驱动程序版本的更多详细信息。