适用于: SQL Server 2025 (17.x) 预览版
本文介绍 SQL Server 2025 (17.x) 预览版中引入的 SQL Server 数据库引擎中的功能的重大更改。 这些更改可能会中断基于早期版本的 SQL Server 的应用程序、脚本或功能。
升级后链接服务器连接失败
SQL Server 2025 (17.x) 预览版包括对 加密 的更改,这些更改引入了 对链接服务器的中断性变更。 这些更改可能会中断基于早期版本的 SQL Server 的应用程序、脚本或功能。
使用 Microsoft OLE DB 驱动程序 19 从早期版本的 SQL Server 升级到 SQL Server 2025 (17.x) 预览版时,现有的链接服务器配置可能会失败。 加密参数的不同默认值可能会导致此失败,除非提供了有效的证书。
在 SQL Server 2025(17.x) 预览版中:
-
将服务器链接到 SQL Server 2025 预览版的实例必须使用
Encrypt连接字符串中的参数 - 使用 Microsoft OLE DB 驱动程序 19 从以前版本的 SQL Server 迁移到 SQL Server 2025 预览版时,现有链接服务器配置可能会失败
有关如何安全地连接到 SQL Server 2025 (17.x) 预览实例的信息,请参阅 TDS 8.0。
升级后复制组件失败
SQL Server 2025 (17.x) 预览版包括 对加密 的更改,这些更改引入了 事务性、 快照、 对等 复制和 合并 复制的重大更改。
升级到 SQL Server 2025 (17.x) 预览版后,如果 SQL Server 实例为 SQL Server 早期版本,复制组件可能会失败:
- 配置为复制发布服务器。
- 在复制拓扑中具有远程分发服务器。
- 未使用受信任的证书进行配置。
升级后可能会看到以下行为:
- 复制将继续成功,但发布更改失败。
- SQL Server Management Studio 中的复制监视器(SSMS)失败。
- SSMS UI 中的代理状态失败。
远程分发服务器使用链接服务器在发布服务器和分发服务器之间进行通信。 SQL Server 2025(17.x)预览版中引入的默认安全设置需要这一点 TrustServerCertificate=False。
可以在开始升级之前先发制人地解决此问题,或者在升级后复制组件失败时解决此问题。
开始升级之前
如果知道升级后 SQL Server 实例会遇到此问题,可以通过将 SQL Server 实例配置为使用 公共商业证书 或 内部证书颁发机构的证书来抢先缓解故障。
这是建议的最大安全性选项。
升级后失败的组件
如果在升级后复制组件失败,仍可将 SQL Server 实例配置为使用来自内部证书颁发机构的公共商业证书或证书。
或者,可以选择不安全的选项来替代 OLEDB 19 提供程序的安全默认值并设置 trust_distributor_certificate=yes ,以便分发服务器信任自签名证书。
若要替代新的安全默认值,请使用sp_changedistributor_property存储过程将选项设置为trust_distributor_certificateyes:
exec sp_changedistributor_property @property = N'trust_distributor_certificate', @value = N'yes'
注释
安全默认值与基础 OLEDB 提供程序 19 相关,可增强安全性。 替代默认值的选项比将实例配置为使用受信任的证书不太安全。 重写默认值后,可以选择将 SQL Server 配置为使用证书,然后使用 sp_changedistributor_property 存储过程将 trust_distributor_certificate=no 属性设置回安全默认值。
添加远程复制分发服务器失败
SQL Server 2025 (17.x) 预览版包括 对加密 的更改,这些更改引入了 对事务、 快照、 对等 复制和 合并 复制的重大更改。
在为复制配置分发者时,Sp_adddistributor 存储过程在以下情况下失败:
- 发布服务器是 SQL Server 2025 (17.x) 预览实例。
- 分发服务器是远程分发服务器。
- 分发服务器未配置受信任的证书。
在发布服务器实例上运行时 sp_adddistributor ,可能会看到以下错误:
OLE DB provider "MSOLEDBSQL19" for linked server "repl_distributor" returned message
"Client unable to establish connection".
Msg -2146893019, Level 16, State 1, Line 21
SSL Provider: The certificate chain was issued by an authority that is not trusted.
远程分发服务器使用链接服务器在发布服务器和分发服务器之间进行通信。 在 SQL Server 2025(17.x)预览版中引入的 OLEDB 19 提供程序的安全默认设置要求 TrustServerCertificate=False。
若要解决此问题,请将分发服务器 SQL Server 实例配置为使用来自内部证书颁发机构的公共商业证书或证书。
或者,可以选择不安全的选项来替代 OLEDB 19 提供程序的安全默认值并设置 TrustServerCertificate=True ,以便分发服务器信任自签名证书。 若要替代默认值,在调用trust_distributor_certificate存储过程时使用参数:
exec sys.sp_adddistributor @trust_distributor_certificate = 'yes';
注释
安全默认值与基础 OLEDB 提供程序 19 相关,可增强安全性。 替代默认值的选项比将实例配置为使用受信任的证书不太安全。 重写默认值后,可以选择将 SQL Server 配置为使用证书,然后使用 sp_changedistributor_property 存储过程将 trust_distributor_certificate=no 属性设置回安全默认值。
远程日志传送的监控可能会中断
SQL Server 2025 (17.x) 预览版包括 对加密 的更改,这些更改引入了 日志传送的重大更改。 升级时可能会遇到这些问题。
如果监视器是远程 SQL Server 2025 (17.x) 预览实例,当日志传送拓扑中的其他 SQL Server 实例使用以前的版本时,日志传送监视可能会中断。
有关如何安全地连接到 SQL Server 2025 (17.x) 预览实例的信息,请参阅 TDS 8.0。