据微软发布的支持公告,在安装 kb5019980 号 b 类稳定版更新后,用户在 windows 11 上安装的部分软件可能无法连接 microsoft sql server 数据库导致运行异常。
微软称,使用 odbc 连接并利用 microsoft odbc sql server 驱动程序 (sqlsrv32.dll) 访问数据库的也能用程序可能无法连接。
受影响的用户可能会在应用程序或 sql server 中收到错误错误消息:
例如 ems 系统遇到问题、microsoft odbc sql server 驱动程序 tds 流中的协议错误或 sql server 收到未知令牌等。
目前微软还在调查这个问题的发生原因,暂时没有解决办法,如果企业受影响比较严重那只能暂时卸载 2022 年 11 月份更新,因为受影响的不只是 windows 11。
根据说明:
windows 11 所有版本、windows 10 所有受支持版本、windows 10 lts 系列、windows server 系列受支持版本均受影响。简单来说就是凡是 11 月份安装了补丁的那都受这个问题的影响。
当然该问题可能只会影响需要连接 sql server 的应用程序,因此主要受影响的还是企业用户。
一、问题:
win10/win11更新系统补丁后,客户端程序不能连接sqlserver2015数据库,提示异常消息:
已成功与服务器建立连接,但是在登录过程中发生错误。 (provider: ssl 提供程序, error: 0 - 远程主机强迫关闭了一个现有的连接。)
二、处理:
分析可能是新的补丁已经默认弃用或禁用旧版本tls导致。在客户端电脑的powershell中执行如下命令后,再次运行程序连接正常。
首先:在windows左下角搜索栏搜索或输入powershell
按照上图操作方式,就可以在powershell窗口里输入以下代码:
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
结束:尝试重新链接sql数据库
发表评论