Sql Server Profiler中的“exec sp_reset_connection”是什么意思?

尝试通过发出“sp_reset_connection”来理解Sql Profiler的含义。

我有以下的“exec sp_reset_connection”行,然后是BatchStarting和Completed,

RPC:Completed exec sp_reset_connection SQL:BatchStarting SELECT [c].[TestID] AS [TestID], [c].[Description] AS [Description] FROM [dbo].[Test] AS [c] SQL:BatchCompleted SELECT [c].[TestID] AS [TestID], [c].[Description] AS [Description] FROM [dbo].[Test] AS [c] 

基本上第一行“exec sp_reset_connection”是指整个过程(我的连接被打开,select stmt运行,然后连接closures并释放回池)刚刚发生? 或者我的联系还处于开放阶段。

而且,为什么在我自己的select语句之前执行sp_reset_connection,是不是应该在用户的sql之后重置呢?

我试图知道是否有一种方式来更详细地了解连接打开和closures时的情况?

通过看到“exec sp_reset_connection”,这是否意味着我的连接closures?

像其他答案一样, sp_reset_connection表示连接池正在被重用。 注意一个特定的结果!

Jimmy Mays的MSDN博客说:

sp_reset_connection不会将事务隔离级别从上一个连接的设置重置为服务器默认级别。

更新 :从SQL 2014开始,对于TDS版本7.3或更高版本的客户端驱动程序,事务隔离级别将重置为默认值。

ref: SQL Server:跨池连接的隔离级别泄漏

这里是一些额外的信息:

sp_reset_connection是做什么的?

ODBC,OLE-DB和System.Data.SqlClient等数据访问API层在重新使用连接池中的连接时都调用(内部)存储过程sp_reset_connection。 这样做是为了在重新使用之前重置连接的状态,但是没有logging什么事情被重置。 本文试图logging被重置的连接的部分。

sp_reset_connection重置连接的以下方面:

  • 所有的错误状态和数字(如@@错误)

  • 停止执行并行查询的父EC的子线程的所有EC(执行上下文)

  • 等待任何突出的I / O操作

  • 通过连接释放服务器上的所有缓冲区

  • 解锁连接使用的任何缓冲区资源

  • 释放连接拥有的所有分配的内存

  • 清除由连接创build的所有工作或临时表

  • 杀死连接所拥有的所有全局游标

  • closures所有打开的SQL-XML句柄

  • 删除任何打开的与SQL-XML相关的工作表

  • closures所有系统表

  • closures所有用户表

  • 丢弃所有的临时对象

  • 中止未完成的交易

  • 入伍时发生分布式事务的缺陷

  • 减less释放共享数据库locking的当前数据库中用户的引用计数

  • Frees获得locking

  • 释放任何获得的句柄

  • 将所有SET选项重置为默认值

  • 重置@@ rowcount值

  • 重置@@标识值

  • 使用dbcc traceon()重置任何会话级跟踪选项

  • 在SQL Server 2005和更新版本中将CONTEXT_INFO重置为NULL [不是原始文章的一部分]

sp_reset_connection不会重置:

  • 安全上下文,这就是为什么连接池匹配连接基于确切的连接string

  • 使用sp_setapproleinput应用程序angular色,因为应用程序angular色无法恢复

注意:我在这里列出了这个列表,因为我不希望它在瞬态networking中丢失。

这表明正在使用连接池(这是一件好事)。

但请注意:

如果在存储过程或触发器中发出SET TRANSACTION ISOLATION LEVEL,则当对象返回控件时,隔离级别将重置为在调用该对象时生效的级别。 例如,如果您批量设置REPEATABLE READ,然后批处理调用将隔离级别设置为SERIALIZABLE的存储过程,则当存储过程将控制权返回给批处理时,隔离级别设置将恢复为REPEATABLE READ。

http://msdn.microsoft.com/en-us/library/ms173763.aspx