close
文章出處
SQL Server出現錯誤: 4014
文章列表
SQL Server出現錯誤: 4014
線下的測試機器老是報錯,從errorlog里看到大量的4014錯誤
A fatal error occurred while reading the input stream from the network. The session will be terminated (input error: 0, output error: 0). 錯誤: 4014,嚴重性: 20,狀態: 16。
于是谷歌了一下,發現了一篇文章:https://www.mssqltips.com/sqlservertip/3538/fixing-sql-server-fatal-error-4014/
大家知道現在的網卡內置功能都比較厲害,有些功能甚至可以代替CPU去執行,于是微軟發布了Scalable Networking Pack (SNP) 可伸縮網絡包,可伸縮網絡包包括了以下3個主要功能
TCP/IP Chimney Offload
Receive Side Scaling (RSS)
Network Direct Memory Access (NetDMA)
大家可以用下面命令查看上面3個功能是否是enabled
netsh int tcp show global
一般操作系統會默認開啟Chimney Offload功能,這個是TCP/IP網絡包下推功能,本來是CPU處理的現在交給網卡處理,減輕CPU負擔,加快網絡包處理速度
但是不是所有網卡都支持Chimney Offload功能,由于線下測試機器是普通家用PC,所以網卡驅動并不帶有這個內置功能
解決辦法是禁用Chimney Offload
netsh int tcp set global chimney=disabled netsh int tcp set global rss=disabled
禁用之后,再執行netstat命令看一下處理是否遷移回CPU
netstat -t
如果最后一列是InHost,那么表示數據包的處理邏輯是CPU上完成,而不是在網卡上完成
至此,問題解決,errorlog也沒有發現4014錯誤
如有不對的地方,歡迎大家拍磚o(∩_∩)o
本文版權歸作者所有,未經作者同意不得轉載。
文章列表
![]() |
不含病毒。www.avast.com |
全站熱搜