Sql server 使用连接池的长时间运行的sql命令是否会导致使用相同连接的其他命令出错?

Sql server 使用连接池的长时间运行的sql命令是否会导致使用相同连接的其他命令出错?,sql-server,entity-framework,connection-pooling,Sql Server,Entity Framework,Connection Pooling,我正在尝试排除可怕的超时过期sql错误。我注意到一个模式如下 用户在大表上启动长时间运行的sql计数 错误-超时已过期。操作完成前已过超时时间,或者服务器没有响应 然后是10+个错误-超时已过期。从池中获取连接之前经过的超时时间。发生这种情况的原因可能是所有池连接都在使用中,并且已达到最大池大小 第三步错误发生在第一个sql命令来自web项目的服务中。那么,是否有可能因为#1其他连接失败而导致连接中断?如果是这样的话,有没有办法从使用连接池中排除某些命令?谢谢 更新 -我正在使用MS SQL 2

我正在尝试排除可怕的超时过期sql错误。我注意到一个模式如下

  • 用户在大表上启动长时间运行的sql计数
  • 错误-超时已过期。操作完成前已过超时时间,或者服务器没有响应
  • 然后是10+个错误-超时已过期。从池中获取连接之前经过的超时时间。发生这种情况的原因可能是所有池连接都在使用中,并且已达到最大池大小
  • 第三步错误发生在第一个sql命令来自web项目的服务中。那么,是否有可能因为#1其他连接失败而导致连接中断?如果是这样的话,有没有办法从使用连接池中排除某些命令?谢谢

    更新

    -我正在使用MS SQL 2012和实体框架。
    -我已经将整个db事务级别设置为READ UNCOMMITTED,因为我们不关心脏读

    第一条语句锁定了数据库级别的所有其他语句。您正在使用SQL Server吗?根据我的经验,SQL Server在很多情况下都会锁定表,以至于DBA总是恢复为脏读——任何其他锁定配置都会导致太多争用


    要解决此问题,您可以在临时表中执行长时间运行的工作,然后在工作完成后复制到实际表。

    我以为我已将READ UNCOMMITTED设置为全局读取,但事实证明我没有。谢谢