Dev Guide: js | css | HTML(DOM) WEBCAST .NET4 Lib Web.config-WCF MVC3-EF4.1 T-SQL-(2012)

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

posted @ 2011-05-28 19:49  dotNetDR_  阅读(3959)  评论(9编辑  收藏  举报