SQL Server(SQLExpress)TDSSNIClient初始化失败无法初始化SSL支持(由于安全库有问题,服务器无法初始化加密security.dll。”
[重要通告]如您遇疑难杂症,本站支持知识付费业务,扫右边二维码加博主微信,可节省您宝贵时间哦!
这篇文章应该写在11月7日,一直没有来得及写,今天整理一下,此刻还不知道题目如何命名,先说来源;
客户说他家的金蝶KIS专业版V14.0无法启动,无发链接了,出现“当前的数据连接不可用,可能是本机的账套没有建立”如下图所示
这一看不就是数据库没有启动或者数据库错误么,然后打开数据库启动,发现并不然,竟然出现错误;sql server不能启动,错误5023,如下图所示;
然后打开Windows系统日志来看一下相关的错误,看有啥内部消息木有;然后就出现了好几个错误信息;
第一个错误:SQL Server(SQLExpress)服务因组或资源的状态不是执行请求操作的正确状态。服务特定错误而停止;
马上就出现第二个错误:
由于网络库中存在内部错误,所以无法启动网络库。要确定原因,请查看错误日志中紧位于此错误之前的那些错误。
第二个错误的解决办法多少是因为请修复或禁用 VIA 网络协议,其实并无任何意义;
第三个错误:TDSSNIClient初始化失败,出现错误 0x139f,状态代码 0x80。原因: 无法初始化SSL支持。 组或资源的状态不是执行请求操作的正确状态。
第四个错误:由于安全库有问题,服务器无法初始化加密。可能是缺失安全库。请验证系统上是否存在security.dll。
看到最后,应该还是最后一条错误引起的“由于安全库有问题服务器无法初始化加密。可能是缺失安全库。请验证系统上是否存在 security.dll。”这条才应该是最重要的;
由于安全库有问题,服务器无法初始化加密。可能是缺失安全库。请验证系统上是否存在security.dll。
TDSSNIClient 初始化失败,出现错误 0x139f,状态代码 0x80。
原因: 无法初始化 SSL 支持。 组或资源的状态不是执行请求操作的正确状态。
原因:服务器上使用的是SqlServer2008R2,缺少安全补丁,不支持TLS1.2。
解决:更新补丁KB3135244 - TLS 1.2 support for Microsoft SQL Server
https://support.microsoft.com/en-us/topic/kb3135244-tls-1-2-support-for-microsoft-sql-server-e4472ef8-90a9-13c1-e4d8-44aad198cdbe
需要对应sqlserver的版本,比如32位还是64位
需要注意sqlserver的语言版本中文和英文的补丁不互相通用.
SQLServer2008r2的数据库不是SP3补丁解决的问题 还是需要先更新SP3的补丁包,然后再更新一个增量补丁进行处理.
其实这一切就是TLS 1.2 support for Microsoft SQL Server引起的,那就要么治疗它,要么干掉它,干掉才是最快的!IE里禁用TSL1.2,服务器也可以启动,如下图所示
其实不管那种错误,最后解决问题才是王道,
其实这个问题在SQL SERVER 2014中也出现;
服务器上使用的是SqlServer2014,缺少安全补丁,不支持TLS1.2。
可以参考微软说明:KB3135244 - TLS 1.2 support for Microsoft SQL Server
解决方案:更新对应版本的sp3补丁即可
其实网络有篇文章写的还是挺好的,https://blog.51cto.com/u_15127592/3300571 也可以去参阅一下!
问题未解决?付费解决问题加Q或微信 2589053300 (即Q号又微信号)右上方扫一扫可加博主微信
所写所说,是心之所感,思之所悟,行之所得;文当无敷衍,落笔求简洁。 以所舍,求所获;有所依,方所成!