我无法连接到 SQL Server。
SQL Server Express 2008 R2 版本运行正常,直到一天晚上,服务器需要重新启动以进行一些系统更新(该计算机运行 Windows Server 2008 R2)。在此期间,计算机中未进行任何配置更改!过了那个晚上,我再也无法连接到 SQL Server。无论是远程还是本地都无法连接。无论是通过我的应用程序还是通过 SQL 管理 (SSMS) 都无法连接。错误消息是以下两条,第一条是当我尝试本地连接时出现的,第二条是当我尝试远程连接时出现的:
例外的是,有一台机器仍然能够正常连接SQL,我不明白为什么。
从昨天开始,我一直在搜索所有论坛,试图找到一个可以帮助我解决问题的类似案例。我尝试了大多数与我的问题最相关的建议,但都没有成功。
我迫切需要至少一个能够解决问题的线索,因为我不知道该做什么了。
其他重要信息是,对于未连接到 SQL 服务器的机器,远程桌面也无法工作。
答案1
安装以下 KB 后我遇到了同样的问题。
https://support.microsoft.com/en-us/kb/3081320
按照 KB 中的说明操作后,我能够再次连接。
赠品是 Schannel 错误“生成了以下致命警报:51。内部错误状态为 602。”
如果您在系统事件日志中看到该信息(如果启用了 Schannel 跟踪),则您知道遇到了上述问题。
祝你好运!
答案2
经过几天的测试,我得出结论,该错误是由与安全配置相关的 Windows Server 2008 错误更新引起的。此问题不仅影响 SQL Server,还影响远程桌面。一位朋友还向他提供支持的一位客户讲述了完全相同的问题。重新安装 SQL Server 并不能解决问题,实际上,您甚至无法再次安装,因为安装错误会阻止您这样做。
解决问题的唯一方法是重新安装修复窗口或等待微软的修复更新。
出现这个问题非常令人失望,我们曾经期望这类服务更加稳定,特别是当你使用来自同一供应商(微软)的工具时。
答案3
- 转到注册表
- 在注册表中找到并单击以下子项:HKLM\System\CurrentControlSet\Control\SecurityProviders\Schannel
- 在编辑菜单上,指向新建,然后单击 DWORD 值。
- 对于接收连接请求的计算机,键入 DisableServerExtendedMasterSecret: REG_DWORD 作为 DWORD 的名称,然后按 ENTER。
- 对于启动连接请求的计算机,键入 DisableClientExtendedMasterSecret: REG_DWORD 作为 DWORD 的名称,然后按 ENTER。
- 右键单击新的 DWORD 条目,然后单击“修改”。键入 1。
这将解决此 Schannel 问题。