症状

假设你正在使用 Microsoft SQL Server 中的传输层安全(TLS)协议版本1.2。 当用于加密数据库镜像、可用性组和 service broker 的终结点通信的证书使用 MD5 哈希算法时,通信将失败。 此外,你还会在 SQL Server 错误日志中收到以下错误消息:

连接握手失败。 操作系统调用失败:(80090331)0x80090331 (客户端和服务器无法通信,因为它们不具有通用算法。)。 状态58。 "。

此外,Windows 日志报告以下 Schannel 错误:

生成了一个严重警报,并已发送到远程终结点。 这可能会导致连接终止。 TLS 协议定义的严重错误代码是40。 Windows SChannel 错误状态为1205。

原因

出现此问题的原因是 TLS 1.2 不支持 MD5 作为签名哈希算法。

解决方案

根据当前安全最佳做法和标准,建议你切换到用于 SQL Server 终结点加密的证书的非 MD5 签名哈希。以下 Microsoft 知识库文章提供了支持 TLS 1.2 的固定版本列表:

3135244 适用于 Microsoft SQL Server 的 TLS 1.2 支持

状态

Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。

参考

了解 Microsoft 用于描述软件更新的 术语

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?

Thank you for your feedback!

×