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 的用途原来是为了重用池中的连接

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值