我试图缩小和debugging相当难以捉摸的错误:
State: 08001 Code: 258 Msg: [Microsoft][SQL Server Native Client 10.0]TCP Provider: Timeout error [258]. State: HYT00 Code: 0 Msg: [Microsoft][SQL Server Native Client 10.0]Login timeout expired State: 08001 Code: 258 Msg: [Microsoft][SQL Server Native Client 10.0]Unable to complete login process due to delay in prelogin response
我迄今尝试过的:
到目前为止,上述操作中没有一个产生DB /networkingconfiguration的任何问题,应用程序代码也没有任何明显的问题。
大部分时间连接创build成功。
问:还有哪些方面可以影响连接创build? 并产生这样看似随机的失败?
检查服务器的本地主机是否存在问题,以消除networking硬件导致超时的可能性。 假设在本地主机上testing时问题消失,那么很可能与networking相关。
每隔1分钟检查一次traceroute时,会提到23毫秒的延迟。 23毫秒看起来不像局域网连接,最有可能有多跳,你也可能会看到偶尔的数据包丢失。
而不是每1分钟做一个traceroute,你应该做一个ping没有超时,如ping -t servername ,让它坐下来。 然后过了一段时间,您可以使用CTRL + BREAK检查统计信息,并查看丢包情况和等待时间的波动情况。
另一种select(除非你已经这样做)是使用PDO来连接