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

SQLSERVER 18056 錯(cuò)誤

系統(tǒng) 2704 0

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

18056?
?

客戶端無法重新使用 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。




案例說明:


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






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




分析過程:
如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ù)包大小就要超過session
獲得的連接池大小,數(shù)據(jù)包是4096,比正常的請(qǐng)求(請(qǐng)求1M的回話)就需要多的數(shù)據(jù)包傳遞,這個(gè)session對(duì)應(yīng)的
回話保持時(shí)間就需要比平均水平長(zhǎng)些,正常情況下,這些獨(dú)大的請(qǐng)求不會(huì)有太大問題.
如果同一時(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)連接池沒有足夠的內(nèi)存空間
分配這個(gè)SESSION,此時(shí)IIS的連接池大小不會(huì)隨著客戶端請(qǐng)求的增加而自動(dòng)增加或IIS服務(wù)器沒有更多的物理內(nèi)存,此時(shí)IIS就會(huì)
因?yàn)闆]有足夠的連接池空間分配來緩存對(duì)應(yīng)的SESSION,但是后續(xù)的客戶端回話還是不停的向IIS申請(qǐng),這個(gè)時(shí)候問題就來啦!
IIS會(huì)釋放掉(或IIS進(jìn)程down掉或IIS自動(dòng)重啟)沒法處理的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)連接(不推薦,迫不得已,沒辦法的辦法)

SQLSERVER 18056 錯(cuò)誤


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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

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

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

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

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

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 岳西县| 白沙| 瑞丽市| 龙里县| 潢川县| 湟源县| 陕西省| 永靖县| 龙州县| 淮滨县| 怀来县| 彭阳县| 吉水县| 固原市| 溧水县| 武威市| 福建省| 南投市| 天镇县| 洞口县| 恭城| 高唐县| 威远县| 福贡县| 拉孜县| 环江| 旬邑县| 吴堡县| 谷城县| 黄梅县| 七台河市| 通城县| 惠安县| 洪泽县| 中宁县| 泗水县| 普兰县| 张家口市| 扶余县| 双城市| 淮阳县|