成都创新互联网站制作重庆分公司

mysql排序怎么解决,mysql 降序排列怎么操作

SQL Server 2005登陆时无法连接到服务器 提示错误10054!求高手解答!

配置工具》配置管理器》2005网络配置》MSSQLSEVER的协议》》启用namepipes和TCP/IP就ok了,我跟你问题差不多,这样设置ok

成都创新互联主营海州网站建设的网络公司,主营网站建设方案,app软件开发公司,海州h5微信小程序开发搭建,海州网站营销推广欢迎海州等地区企业咨询

www.4357.com为什么登陆不上,显示SSL错误,还有钱在里面帮帮忙?

Copyright © 1999-2020, CSDN.NET, All Rights Reserved

SQL2008 R2

登录

剑之风

关注

异常:已引发: "已成功与服务器建立连接,但是在登录过程中发生错误。 (provider: SSL Provider, error: 31 - 加密(ssl/tls)握手失败) 已成功与服务器建立连接 原创

2013-11-09 17:23:24

剑之风

码龄13年

关注

环境:

VS2013,sql2008R2

question

异常:已引发: "已成功与服务器建立连接,但是在登录过程中发生错误。 (provider: SSL Provider, error: 31 - 加密(ssl/tls)握手失败)

已成功与服务器建立连接,但是在登录过程中发生错误。 (provider: SSL Provider, error: 0 - 接收到的消息异常,或格式不正确。)" (System.Data.SqlClient.SqlException)

引发了一个 System.Data.SqlClient.SqlException: "已成功与服务器建立连接,但是在登录过程中发生错误。 (provider: SSL Provider, error: 31 - 加密(ssl/tls)握手失败)

已成功与服务器建立连接,但是在登录过程中发生错误。 (provider: SSL Provider, error: 0 - 接收到的消息异常,或格式不正确。)"

时间: 2013/11/9 16:22:08

线程: 工作线程[5536]

add key="SqlServer" value="192.168.11.85,1433" /

改为:

add key="SqlServer" value="localhost"/

_connectionString = " Max Pool Size = 512;server=" + ConfigurationSettings.AppSettings["SqlServer"] + ";uid=" + ConfigurationSettings.AppSettings["SqlUid"] + ";pwd=" + ConfigurationSettings.AppSettings["SqlPwd"] + ";database=" + ConfigurationSettings.AppSettings["SqlDataName"] ;

// _connectionString = "Data Source=localhost;Initial Catalog=E-ERP;User ID=sa;Password=123;";

已成功与服务器建立连接,但是在登录前的握手期间发生错误。 (provider: SSL Provider, error: 0 - 等待的

如果你装了Visual Studio 2012预览版或者 .Net Framework 4.5预览版,试着把.Net Framework 4.5卸载掉再装上4.0,我是这么做才恢复正常的。

不制作证书是否能加密SQLSERVER与客户端之间传输的数据

Microsoft Network Monitor

这是微软提供的网络抓包工具

虽然它是微软提供的,但所有的协议parser解析代码全部都是开源的,采用其支持的特有脚本语言编写,易理解、易扩展;

它自带协议parser比较全面,同时有一个开源社区提供持续支持;

另外,它也提供API帮助我们开发自己的网络抓包、协议分析工具。

针对TDS协议解析需求:

Network Monitor自带TDS协议解析器和UI比较友好

Network Monitor自带TDS协议解析器在解析和结果展示方面更全面,以下是一个画面片段,显示了一个SQL Batch包。

先了解一下SQLSERVER的加密阶段

一共有两个阶段

在认证阶段,SQLSERVER会使用自生成的自签名证书,加密客户端发过来的登陆用户名和密码

在数据传输阶段,如果不使用证书,那么数据是使用明文在网络上进行传送的

大家可以看一下这篇文章:

SQL Server 连接加密 (1) -- SQL Server connection encyption

网上有很多制作证书的教程,但是制作证书都比较麻烦,客户端和服务器端都要弄很多东西。

详细制作证书的过程可以参考园子里的这篇文章:

在SQL Server 2005 中开启SSL(图文结合)

当然这篇文章不是讲解这个network monitor抓包工具的,所以轻轻带过就算了

那么,不制作证书怎么加密传输的数据啊????

答案就是:同样使用在认证阶段的自生成的自签名证书

详细步骤:

步骤1:在SQLSERVER服务器端这边设置强行加密

步骤2:重启SQLSERVER,只有重启SQLSERVER设置才能生效

步骤3:打开network monitor,新建一个capture

步骤4:启动capture,开始捕获

步骤5:在客户端这边连上服务器端的SQLSERVER,然后你会在network monitor里的看到SSMS这个进程已经出现在Network Conversations窗口

步骤6:选中他,你会在Frame Summary窗口看到帧信息

步骤7:如果你在服务器端开启了“强行加密”,那么收到的数据包都会是加密的

大家在Protocol Name这一栏看到的是TLS协议,而不会是TDS协议

步骤8:查看帧数据

步骤9:如果没有加密的明文数据,network monitor就能够查看出来,并且Protocol Name这一栏显示的是TDS协议,因为数据包并没有使用TLS协议进行封装

TIPS:当关闭了SSMS的查询窗口之后,连接还是存在的

很多人会问,关闭了连接,怎么连接还存在,客户端为什么还会跟服务器端进行通信?????

实际上,这个是客户端的连接池机制,客户端不断发送keep alive数据包给服务器,下次有同样的连接进行重用了,不需要再进行三次握手o(∩_∩)o

总结

本人介绍了不使用制作证书的方式来对传输的数据进行加密的方法,实际上设置客户端而不设置服务器端也是可以的

不过设置客户端比较麻烦,还需要在连接字符串里加上encrypt属性设置为Yes

设置服务器端和设置客户端的加密的区别

服务器端:所有的连接都是加密的

客户端:只是设置了加密的那个连接是加密的,其他没有设置加密的连接依然是明文传输数据

当然,使用SQLSERVER自生成的证书安全性是不及自己制作的证书的安全性高!!

相关连接:

加密与 SQL Server 的连接

使用自签名证书加密的 SSL 连接不提供强安全性。它们容易在传输中途受到攻击。在生产环境中或在连接到 Internet 的服务器上,不应依赖使用自签名证书的 SSL。

始终要对客户端应用程序与 SQL Server

连接时传输的凭据(在登录数据包中)进行加密。SQL Server

将使用可信证书颁发机构颁发的证书(如果可用)。如果未安装可信证书,则在启动实例时 SQL Server

将生成自签名证书,并使用自签名证书对凭据进行加密。自签名证书有助于提高安全性,但它不提供针对通过服务器进行的身份欺骗的保护。如果使用自签名证书,

并且 ForceEncryption 选项的值设置为“是”,则将使用自签名证书对通过网络在 SQL Server

和客户端应用程序之间传输的所有数据进行加密

sqlserver2008数据库,能telnet但是不能连接

防火墙是否关闭?建议你看一下安装说明,有可能版本不兼容的问题,现在不少软件都现在64位机器安装和使用32位软件。navicat client 是否安装?

另外检查一下服务器上是否存在多个实例?

握手问题,可以看一下配置:

已成功与服务器建立连接,但是在登录前的握手期间发生错误。

单击“开始”,依次指向“程序”、“Microsoft SQL Server 2005”和“配置工具”,然后单击“SQL Server 外围应用配置器”。

2. 在“SQL Server 2005 外围应用配置器”页上,单击“服务和连接的外围应用配置器”。

3. 在“服务和连接的外围应用配置器”页上,展开“数据库引擎”,依次单击“远程连接”和“本地连接和远程连接”,单击适用于您的环境的相应协议,然后单击“应用”。

注意:请在接收到以下消息时单击“确定”:

直到重新启动数据库引擎服务后,对连接设置所做的更改才会生效。

4. 在“服务和连接的外围应用配置器”页上,展开“数据库引擎”,依次单击“服务”和“停止”,等待 MSSQLSERVER 服务停止,然后单击“启动”以重新启动 MSSQLSERVER 服务。


当前文章:mysql排序怎么解决,mysql 降序排列怎么操作
标题路径:http://cxhlcq.com/article/hdpcge.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部