网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

怎么解决message客户端无法重新使用SPID为799的会话问题

本篇内容主要讲解“怎么解决message客户端无法重新使用SPID为799的会话问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么解决message客户端无法重新使用SPID为799的会话问题”吧!

创新互联成都企业网站建设服务,提供网站设计、成都网站制作网站开发,网站定制,建网站,网站搭建,网站设计,自适应网站建设,网页设计师打造企业风格网站,提供周到的售前咨询和贴心的售后服务。欢迎咨询做网站需要多少钱:18982081108

报错日志:

message客户端无法重新使用 SPID 为 2799 的会话,该会话已被重置用于连接池。失败 ID 为 46。

此错误可能是由于先前的操作失败引起的。请查看错误日志,了解紧位于此错误消息之前的失败操作。

message无法继续执行,因为会话处于终止状态。

消息

错误: 18456,严重性: 14,状态: 46。

消息

Login failed for user 'wms'. 原因: 在重新验证连接所使用的登录名时,无法打开在登录名对象中配置的数据库“wms”。 

[客户端: 192.168.0.52]

消息

错误: 18056,严重性: 20,状态: 46。

消息

The client was unable to reuse a session with SPID 2799, which had been reset for connection pooling. The failure ID is 46. This error may have been caused by an earlier operation failing. Check the error logs for failed operations immediately before this error message.

案例说明:

当SQLSERVER的errorlog文件中不停的报错10856的时候,CPU同时会很低,此时SQL客户端登陆

数据库查询操作正常;IIS连接数暴涨,网站无法操作数据库(如登录、基本查询)

分析前提:

该问题很常见,官方解释没有很明确的答案,都是说要么需要打补丁要么需要设置IIS的连接池.

这里分析前提是数据库已经打了最新的补丁、IIS连接数据库的字符串正常、用户名和密码正常.

分析过程:

如IIS的连接池设置1500M,IIS连接数据正常1500个,那么每个session分到的连接池大小平均1MB,

数据库网络数据包默认是4096;

如果这个时候有个请求需要返回20M数据,那么这个session从数据库返回的数据包大小就要超过session

获得的连接池大小,数据包是4096,比正常的请求(请求1M的回话)就需要多的数据包传递,这个session对应的

回话保持时间就需要比平均水平长些,正常情况下,这些独大的请求不会有太大问题.

如果同一时刻,IIS的请求数达到3000,每个SESSION分到的连接池大小平均值就会0.5MB,如果同样返回20MB数据,

那么SESSION的时间就会更长!

如果这个时候客户端请求返回100个30M数据,那么此时的请求,当数据库返回给IIS时,IIS会发现连接池没有足够的内存空间

分配这个SESSION,此时IIS的连接池大小不会随着客户端请求的增加而自动增加或IIS服务器没有更多的物理内存,此时IIS就会

因为没有足够的连接池空间分配来缓存对应的SESSION,但是后续的客户端回话还是不停的向IIS申请,这个时候问题就来啦!

IIS会释放掉(或IIS进程down掉或IIS自动重启)没法处理的SESSION,当数据库收到IIS端SESSION请求查询出数据准备返回给

IIS的SESSION时,去寻找对应请求的SPID,发现该请求的SPID已经不存在,但是数据库的TCP连接不会因为SPID的不存在立即抛弃这些

数据,此时网卡的流量会增加!同时数据库ERRORLOG里全是这种错误.

解决办法:

0.首先排除DB是否有死锁

1.最直接的办法就是增加IIS连接池大小

2.就是找出程序中大的会话请求,修改代码

3.限制IIS进程数上限,根据日常运行情况设置连接池大小(不推荐,迫不得已)

4.数据库端限制sql回话时常:SQL防火墙或数据库限制长连接(不推荐,迫不得已,没办法的办法)

到此,相信大家对“怎么解决message客户端无法重新使用SPID为799的会话问题”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!


网页名称:怎么解决message客户端无法重新使用SPID为799的会话问题
网站网址:http://bjjierui.cn/article/igipep.html

其他资讯