zoukankan      html  css  js  c++  java
  • EF 4.1中内部经常提交的 exec sp_reset_connection 的用途原来是为了重用池中的连接

    sp_reset_connection 的作用

        当您使用连接池连接到 SQL Server 时,SQL Server 将调用 sp_reset_connection 存储过程来重用之前池中的连接。
    (在.NET中是由.Net SqlClient Data Provider调用)

        使用 sp_reset_connection 存储过程可确保连接选项被重置,
    使 客户端应用程序 重用 在以前的语句中所创建的 已没有持续 的 连接。

        然而,在 Microsoft SQL Server 2000 中,
    sp_reset_connection 存储过程可能 无法重置 设置正确的行数(@@ROWCOUNT)。

        如果执行删除或更新的语句执行后 sp_reset_connection 存储过程调用,SQL Server 尊重旧行值(换句话说,旧的行数设置仍然存在)。

        在这种情况下,DELETE或UPDATE语句只更新或删除以前的连接设置中指定的行数。
    SELECT 语句中,不会发生此问题。
        如果您运行选择后您调用 sp_reset_connection 存储过程、SQL Server 忽略中以前的连接设置的 @@ROWCOUNT 和 SELECT 语句返回预期的行数。

    Fix: SQL Server 2000的情况下请更新相关SP补丁包即可.

    英文原版:http://support.microsoft.com/kb/310617/ 

    --------------

    在这里我知道了这个存储过程是为了重用池中的连接所用的.so, 

    EF 4.1中内部经常提交的 exec sp_reset_connection 的用途原来是为了重用池中的连接

  • 相关阅读:
    感悟.
    近期感悟
    android 新建项目无法自动生成R文件
    重装后各种碰壁
    rhapsody
    libevent
    ui android需要解决的问题
    sql对xml的解析
    将datarow转换为实体的方法
    网页中的一些我不熟的东西
  • 原文地址:https://www.cnblogs.com/highend/p/why_ef_using_sp_reset_connection.html
Copyright © 2011-2022 走看看