我们的服务器有时会抛出这个众所周知的异常:
超时已过。在操作完成之前超时时间已过或服务器没有响应。
当服务器处理大请求时,这种情况会在压力下发生。我做了一些研究,发现我可以更改连接字符串连接超时设置和/或SqlCommand.Timeout数据读取器属性。
默认情况下,sql 命令超时设置为30秒,连接超时设置为15,我们从不覆盖它们。
我在管理工作室中复制了上下文并手动执行了失败的请求。它们的持续时间大约为 1秒,并且总是远远超过 30秒。
但奇怪的是,当我查看服务器日志时,请求调用会立即抛出此异常。我的意思是,请求正在执行,一毫秒后引发异常。对不起,让我看看这个8-o的怪胎。
完整地说,我们的 sql 实例以同步模式与另一个实例镜像。我们通过表格适配器使用 Ado.Net。