简介:windows系统更新时会更新成新的TLS协议与密码套件,此时链接sqlsever数据库时就可能出现“已成功与服务器建立连接,但在登录过程中发生错误,错误代码0 - 远程主机强迫关闭了一个现有的连接”错误弹窗。

原因:通常由TLS协议不兼容、网络配置错误或服务器端异常导致。以下是常见解决方法:
调整TLS协议与密码套件
右键点击windows图标-》打开 终端(管理员)把命令贴上就好了。
foreach ($CipherSuite in $(Get-TlsCipherSuite).Name) {
"Disabling cipher suite: " + $CipherSuite
Disable-TlsCipherSuite -Name $CipherSuite
}
Enable-TlsCipherSuite -Name TLS_AES_256_GCM_SHA384
Enable-TlsCipherSuite -Name TLS_AES_128_GCM_SHA256
Enable-TlsCipherSuite -Name TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
Enable-TlsCipherSuite -Name TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
Enable-TlsCipherSuite -Name TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
Enable-TlsCipherSuite -Name TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
上述操作会重置系统的TLS配置,优先使用兼容性更好的加密套件;成功后以下可掠过。
以下是备用执行代码:(上述代码执行后无效时启用)
foreach ($CipherSuite in $(Get-TlsCipherSuite).Name)
{
"Disabling cipher suite: " + $CipherSuite
Disable-TlsCipherSuite -Name $CipherSuite
}
Enable-TlsCipherSuite -Name TLS_AES_256_GCM_SHA384
Enable-TlsCipherSuite -Name TLS_AES_128_GCM_SHA256
Enable-TlsCipherSuite -Name TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
Enable-TlsCipherSuite -Name TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
Enable-TlsCipherSuite -Name TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
Enable-TlsCipherSuite -Name TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
Enable-TlsCipherSuite -Name TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
Enable-TlsCipherSuite -Name TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
Enable-TlsCipherSuite -Name TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
Enable-TlsCipherSuite -Name TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
Enable-TlsCipherSuite -Name TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
Enable-TlsCipherSuite -Name TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
Enable-TlsCipherSuite -Name TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
Enable-TlsCipherSuite -Name TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
Enable-TlsCipherSuite -Name TLS_RSA_WITH_AES_256_GCM_SHA384
Enable-TlsCipherSuite -Name TLS_RSA_WITH_AES_128_GCM_SHA256
Enable-TlsCipherSuite -Name TLS_RSA_WITH_NULL_SHA256
Enable-TlsCipherSuite -Name TLS_RSA_WITH_NULL_SHA
Enable-TlsCipherSuite -Name TLS_PSK_WITH_AES_256_GCM_SHA384
Enable-TlsCipherSuite -Name TLS_PSK_WITH_AES_128_GCM_SHA256
Enable-TlsCipherSuite -Name TLS_PSK_WITH_AES_256_CBC_SHA384
Enable-TlsCipherSuite -Name TLS_PSK_WITH_AES_128_CBC_SHA256
Enable-TlsCipherSuite -Name TLS_PSK_WITH_NULL_SHA384
Enable-TlsCipherSuite -Name TLS_PSK_WITH_NULL_SHA256
Enable-TlsCipherSuite -Name TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P256
Enable-TlsCipherSuite -Name TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384_P384
Enable-TlsCipherSuite -Name TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256
Enable-TlsCipherSuite -Name TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P384
Enable-TlsCipherSuite -Name TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P256
Enable-TlsCipherSuite -Name TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P384
Enable-TlsCipherSuite -Name TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P256
Enable-TlsCipherSuite -Name TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384
Enable-TlsCipherSuite -Name TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256_P256
Enable-TlsCipherSuite -Name TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P256
Enable-TlsCipherSuite -Name TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P384
Enable-TlsCipherSuite -Name TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P256
Enable-TlsCipherSuite -Name TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P384
Enable-TlsCipherSuite -Name TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384_P384
Enable-TlsCipherSuite -Name TLS_RSA_WITH_AES_128_CBC_SHA256
Enable-TlsCipherSuite -Name TLS_RSA_WITH_AES_128_CBC_SHA
Enable-TlsCipherSuite -Name TLS_RSA_WITH_AES_256_CBC_SHA256
Enable-TlsCipherSuite -Name TLS_RSA_WITH_AES_256_CBC_SHA
Enable-TlsCipherSuite -Name TLS_RSA_WITH_3DES_EDE_CBC_SHA
验证账户权限与远程设置
检查远程计算机是否已启用远程访问,并确认你使用的账户具有通过远程桌面服务登录的权限。在Windows系统上,可通过“系统属性”中的“远程”设置确认,并在“本地安全策略”中为账户添加“允许通过远程桌面服务登录”的权限。同时,确保账户密码正确,避免因身份验证失败导致连接被拒绝。
启用TCP/IP协议的IP1设置
通过SQL Server配置管理器检查:
- 打开SQL Server配置管理器 → 选择MSSQLSERVER协议 → 找到TCP/IP协议 → 查看属性中的“IP1”是否启用 → 若未启用则点击“是”确认启用 → 重启数据库服务。
- 更新软件或修复安全设置
若问题由软件缺陷或过时的安全设置引起,需更新相关软件或修复安全漏洞。 3
其他注意事项
- 端口占用:使用命令
netstat -ano | findstr 3389检查远程桌面端口(默认3389)是否被占用。 5 - 用户权限:确认远程连接时输入的用户名、密码及账号权限与服务器配置一致。
排查服务器端问题
若以上步骤无效,问题可能出在服务器端。服务器应用程序中的未处理异常、资源不足或配置错误都可能强制关闭连接。建议联系服务器管理员检查服务器日志(如SQL Server错误日志或Windows事件查看器),确认是否存在异常记录或服务重启现象
如果问题仍无法解决,可尝试更新系统补丁或使用第三方远程连接工具进行测试
7047

被折叠的 条评论
为什么被折叠?



