我正在尝试解决可怕的 Timeout expired sql 错误。我注意到一个模式如下。
- 用户在大表上启动长时间运行的 sql 计数
- 错误 - 超时已过期。在操作完成之前超时时间已过或服务器没有响应。
- 随后是 10 + 错误 - 超时已过期。在从池中获取连接之前超时时间已过。这可能是因为所有池连接都在使用中并且达到了最大池大小。
第三步错误发生在第一个 sql 命令来自 Web 项目的服务中。那么是否有可能因为#1其他连接失败而导致连接中断?如果是这样,有没有办法从使用连接池中排除某些命令?谢谢!
更新
-我正在使用 MS SQL 2012 和实体框架。-我已将整个数据库事务级别设置为 READ UNCOMMITTED,因为我们不关心脏读