症状
在 Microsoft SQL Server 中使用 AlwaysOn 可用性组、数据库镜像或 Service Broker 时,已加密的终结点与传输层安全性(TLS)协议版本1.2 的通信失败。 此外,你还会在 SQL Server 错误日志中收到以下错误消息:
连接握手失败。 操作系统调用失败:(80090331)0x80090331 (客户端和服务器无法通信,因为它们不具有通用算法。)。 状态56。
Windows 事件日志将报告以下 SChannel 错误:
生成了一个严重警报,并已发送到远程终结点。 这可能会导致连接终止。 TLS 协议定义的严重错误代码是40。 Windows SChannel 错误状态为1205。
原因
SQL Server 中的终结点通信不支持 TLS 协议版本1.2。
解决方案
此问题已在最新版本的 SQL Server 中修复。 Microsoft 知识库中的以下文章提供了支持 TLS 协议版本1.2 的 SQL Server 版本列表:
3135244 适用于 Microsoft SQL Server 的 TLS 1.2 支持
状态
Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。
参考
了解 Microsoft 用于描述软件更新的 术语 。