我不确定是否应该问这个问题dba.stackexchange.com或这里。
Windows Server 2008 管理事件中定期记录以下错误:
从远程服务器收到的证书是由不受信任的证书颁发机构颁发的。因此,证书中包含的任何数据都无法验证。SSL 连接请求失败。附加数据包含服务器证书。
Log Name: System
Source: Schannel
其次是:
生成了以下致命警报:48。内部错误状态为 552。
Log Name: System
Source: Schannel
如果我将 SQL-Server 配置中的强制Encryption
属性从“否”更改为“是”(见下图),则将不再记录错误。
但我实际上不需要 SSL 加密,因为所有连接都是受信任的(来自内联网),并且端口 1333 和 1334 受到互联网防火墙的保护。
如果我强制加密并生成服务器证书,这会影响性能吗?在我的情况下是否建议这样做?我不想强制加密,只是为了防止某些事件日志,如果它甚至不会导致严重的连接问题(我在哪里可以查看是哪个连接导致了它?)。
问:有人可以解释一下吗为什么这些错误被提出,从哪里?
答案1
您可能会收到此错误,因为某个程序(在您的情况下是 SQL Server?)正在尝试通过 SSL 连接访问远程资源,但是该远程资源使用的 SSL 证书不受您的服务器信任。
要查找服务器尝试访问的远程资源,请在事件查看器中打开细节事件选项卡(使用友善视野)。这里的EventData包含收到的SSL证书。
要了解 EventData,请向下滚动直到看到以下部分以字节为单位。右侧的事件查看器对文本中的数据进行解码,您应该能够在所有这些奇怪的字符中看到 URL、userPrincipalName 或类似的东西。
注意:就我的情况(测试实验室)而言,我的服务器正在尝试访问域控制器上的某些内容。将我的 DC 的证书添加到受信任的根存储中解决了该问题。
答案2
除非您为 SQL Server 配置了证书,否则生成错误的原因不是 SQL Server。错误来自系统上的其他东西。
答案3
我刚刚在微软的网站上看到,这是一个已知问题,早在 Windows 7 中就存在。由于这篇文章几天前才更新,所以它肯定还是一个问题。他们的答案是关闭 Schannel 日志记录,并且“这个问题将在未来的版本中得到修复”。