有时,在 ASP(经典)站点上,用户会收到此错误:
[DBNETLIB][ConnectionRead (recv()).]General network error.
似乎是随机的,并且没有连接到任何特定页面。SQL 服务器与 Web 服务器是分开的,我的猜测是每隔一段时间,两者之间的“链接”就会断开。路由器/交换机问题...或者其他人之前遇到过这个问题?
有时,在 ASP(经典)站点上,用户会收到此错误:
[DBNETLIB][ConnectionRead (recv()).]General network error.
似乎是随机的,并且没有连接到任何特定页面。SQL 服务器与 Web 服务器是分开的,我的猜测是每隔一段时间,两者之间的“链接”就会断开。路由器/交换机问题...或者其他人之前遇到过这个问题?
使用与您相同的设置(即单独的 Web 和数据库服务器),我不时看到它,它一直是服务器之间的连接问题 - 通常是在重新启动数据库服务器时,但有时在有通信时系统某处的问题。我没有看到它是由 ASP 代码本身的任何问题触发的,这就是为什么你看到它显然是随机的并且没有连接到特定页面的原因。
我已经多次看到这个错误。它也可能是由许多事情引起的,包括网络错误:)。
但原因之一可能是 MS-SQL 的内置功能。
该功能检测 DoS 攻击——在这种情况下,来自 Web 服务器的请求过多:)。
但我不知道我们是如何修复它的:(。
SQL 服务器配置管理器
禁用 TCP/IP ,启用共享内存和命名管道
祝你好运 !
不完全是一个解决方案,也不相同的环境。但是,我在 VBA/Excel 程序中收到此错误,问题是我有一个未在 SQL Server Management Studio (SSMS) 中提交的挂起事务。关闭 SSMS 后,一切正常。所以教训是挂起的交易可以阻止存储过程继续进行(显而易见的事实,我知道!)。希望这可以帮助这里的人。
打开命令提示符 - 以管理员身份运行并在客户端键入以下命令
netsh advfirewall set allprofiles state off
FWIW,我从 Excel 中遇到了这个错误,它会挂在一个在 SSMS 中运行良好的 EXEC 上。由于“参数嗅探”和不合适的缓存查询计划,我以前见过有问题的查询,在 SSMS 中也可以。对 SP 进行小的编辑可以解决问题,之后它以原始形式运行良好。我很想知道是否有人也遇到过这种情况。试试旧的OPTION (OPTIMIZE FOR UNKNOWN)
:)