日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

SQLSERVER 18056 錯(cuò)誤

系統(tǒng) 2735 0

From:http://blog.csdn.net/yangzhawen/article/details/8209167

18056?
?

客戶端無(wú)法重新使用 SPID 為 %d 的會(huì)話,該會(huì)話已被重置用于連接池。失敗 ID 為 %d。

此錯(cuò)誤可能是由于先前的操作失敗引起的。

請(qǐng)查看錯(cuò)誤日志,找出在顯示此錯(cuò)誤消息之前剛發(fā)生的失敗操作。






2011-11-19 16:33:53.91 spid5495 ? ?The client was unable to reuse a session with SPID 5495, which had been?
reset for connection pooling. The failure ID is 1. This error may have been caused by an earlier operation
failing. Check the error logs for failed operations immediately before this error message.
2011-11-19 16:33:53.93 spid2991 ? ?錯(cuò)誤: 18056,嚴(yán)重性: 20,狀態(tài): 1。




案例說(shuō)明:


當(dāng)SQLSERVER的errorlog文件中不停的報(bào)錯(cuò)10856的時(shí)候,CPU同時(shí)會(huì)很低,此時(shí)SQL客戶端登陸
數(shù)據(jù)庫(kù)查詢操作正常;IIS連接數(shù)暴漲,網(wǎng)站無(wú)法操作數(shù)據(jù)庫(kù)(如登錄、基本查詢)






分析前提:
該問(wèn)題很常見(jiàn),官方解釋沒(méi)有很明確的答案,都是說(shuō)要么需要打補(bǔ)丁要么需要設(shè)置IIS的連接池.
這里分析前提是數(shù)據(jù)庫(kù)已經(jīng)打了最新的補(bǔ)丁、IIS連接數(shù)據(jù)庫(kù)的字符串正常、用戶名和密碼正常.




分析過(guò)程:
如IIS的連接池設(shè)置1500M,IIS連接數(shù)據(jù)正常1500個(gè),那么每個(gè)session分到的連接池大小平均1MB,
數(shù)據(jù)庫(kù)網(wǎng)絡(luò)數(shù)據(jù)包默認(rèn)是4096;

如果這個(gè)時(shí)候有個(gè)請(qǐng)求需要返回20M數(shù)據(jù),那么這個(gè)session從數(shù)據(jù)庫(kù)返回的數(shù)據(jù)包大小就要超過(guò)session
獲得的連接池大小,數(shù)據(jù)包是4096,比正常的請(qǐng)求(請(qǐng)求1M的回話)就需要多的數(shù)據(jù)包傳遞,這個(gè)session對(duì)應(yīng)的
回話保持時(shí)間就需要比平均水平長(zhǎng)些,正常情況下,這些獨(dú)大的請(qǐng)求不會(huì)有太大問(wèn)題.
如果同一時(shí)刻,IIS的請(qǐng)求數(shù)達(dá)到3000,每個(gè)SESSION分到的連接池大小平均值就會(huì)0.5MB,如果同樣返回20MB數(shù)據(jù),
那么SESSION的時(shí)間就會(huì)更長(zhǎng)!
如果這個(gè)時(shí)候客戶端請(qǐng)求返回100個(gè)30M數(shù)據(jù),那么此時(shí)的請(qǐng)求,當(dāng)數(shù)據(jù)庫(kù)返回給IIS時(shí),IIS會(huì)發(fā)現(xiàn)連接池沒(méi)有足夠的內(nèi)存空間
分配這個(gè)SESSION,此時(shí)IIS的連接池大小不會(huì)隨著客戶端請(qǐng)求的增加而自動(dòng)增加或IIS服務(wù)器沒(méi)有更多的物理內(nèi)存,此時(shí)IIS就會(huì)
因?yàn)闆](méi)有足夠的連接池空間分配來(lái)緩存對(duì)應(yīng)的SESSION,但是后續(xù)的客戶端回話還是不停的向IIS申請(qǐng),這個(gè)時(shí)候問(wèn)題就來(lái)啦!
IIS會(huì)釋放掉(或IIS進(jìn)程down掉或IIS自動(dòng)重啟)沒(méi)法處理的SESSION,當(dāng)數(shù)據(jù)庫(kù)收到IIS端SESSION請(qǐng)求查詢出數(shù)據(jù)準(zhǔn)備返回給
IIS的SESSION時(shí),去尋找對(duì)應(yīng)請(qǐng)求的SPID,發(fā)現(xiàn)該請(qǐng)求的SPID已經(jīng)不存在,但是數(shù)據(jù)庫(kù)的TCP連接不會(huì)因?yàn)镾PID的不存在立即拋棄這些
數(shù)據(jù),此時(shí)網(wǎng)卡的流量會(huì)增加!同時(shí)數(shù)據(jù)庫(kù)ERRORLOG里全是這種錯(cuò)誤.

解決辦法:
0.首先排除DB是否有死鎖
1.最直接的辦法就是增加IIS連接池大小
2.就是找出程序中大的會(huì)話請(qǐng)求,修改代碼
3.限制IIS進(jìn)程數(shù)上限,根據(jù)日常運(yùn)行情況設(shè)置連接池大小(不推薦,迫不得已)
4.數(shù)據(jù)庫(kù)端限制sql回話時(shí)常:SQL防火墻或數(shù)據(jù)庫(kù)限制長(zhǎng)連接(不推薦,迫不得已,沒(méi)辦法的辦法)

SQLSERVER 18056 錯(cuò)誤


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 莱州市| 广饶县| 孝义市| 咸宁市| 湟源县| 卢湾区| 永康市| 舟山市| 莱芜市| 基隆市| 天祝| 宜兴市| 大理市| 商河县| 于田县| 奉贤区| 中方县| 留坝县| 柳河县| 固始县| 图木舒克市| 清镇市| 翼城县| 东海县| 黎川县| 山阳县| 互助| 青川县| 会理县| 宝兴县| 北流市| 开封市| 常山县| 隆尧县| 伊金霍洛旗| 乌恰县| 鄢陵县| 鄯善县| 伊川县| 榆中县| 抚远县|