问题标签 [sp-reset-connection]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
121053 浏览

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

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

我有以下“exec sp_reset_connection”行,后跟 BatchStarting 和 Completed,

基本上第一行“exec sp_reset_connection”是否意味着整个过程(我的连接被打开,select stmt运行,然后连接被关闭并释放回池)才发生?或者我的连接仍处于开放阶段。

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

我想知道有没有办法更详细地了解连接何时打开和关闭?

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

0 投票
4 回答
3029 浏览

c# - 为什么有这么多用于 C# 连接池的 sp_resetconnections?

我们有一个用 C# 编码的 Web 服务,它可以多次调用 MS SQL Server 2005 数据库。该代码使用结合 C# 的连接池的 Using 块。

在 SQL 跟踪期间,我们看到了许多对“sp_resetconnection”的调用。其中大多数都很短 < 0.5 秒,但有时我们会接到长达 9 秒的通话。

从我读到的 sp_resetconnection 与连接池有关,基本上重置了打开连接的状态。我的问题:

  • 为什么打开的连接需要重置其状态?
  • 为什么这么多电话!
  • 什么可能导致调用 sp_reset 连接花费大量时间。

这对我来说是个谜,我感谢任何和所有的帮助!

0 投票
4 回答
16827 浏览

sql-server - 我可以停止调用 sp_reset_connection 以提高性能吗?

我的探查器跟踪显示exec sp_reset_connection在每个 sql 批处理或过程调用之间正在调用它。这是有原因的,但是如果我确信没有必要为了提高性能,我可以阻止它被调用吗?

更新:我认为这可以提高性能的原因是双重的:

  1. SQL Server 不需要重置连接状态。我认为这将是一个相对微不足道的改进。
  2. 减少了网络延迟,因为客户端不需要发送一个exec sp_reset_connection,等待响应,然后发送它真正想要执行的任何 sql。

第二个好处是我感兴趣的,因为在我的架构中,客户端有时与数据库有一段距离。如果每个 sql 批处理或 rpc 都需要两次往返,这会使任何网络延迟的影响加倍。消除这种双重调用可能会提高性能。

是的,我可以做很多其他的事情来提高性能,比如重新设计应用程序,我非常喜欢解决问题的根本原因,但在这种情况下,我只想知道是否可以防止 sp_reset_connection被称为。然后我可以测试是否有任何性能改进,并正确评估不调用它的风险。

这引发了另一个问题:与 sp_reset_connection 的网络通信真的像我上面概述的那样发生吗?即客户端发送exec sp_reset_connection,等待响应,然后发送真正的sql?还是全部放在一块?

0 投票
2 回答
292 浏览

java - SQL Server sp_resetconnection 功能是否有 java.sql.Connection 类的等效函数?

想象一个简单的 java.sql.Connection 连接池。连接释放回池后,我们不知道是否有任何事务打开,是否创建了任何临时表等。

而不是手动检查 getAutoCommit() 是否为假,然后查看我们是否需要回滚、调用 rollback() 等,我希望会有一个 reset() 函数执行类似于 SQL Server sp_resetconnection 存储过程的操作,但不依赖于 DBMS。但是,查看 Connection 的 API 似乎没有。

有这样的功能吗?

0 投票
0 回答
34 浏览

sql-server-2019 - sys.sp_reset_connection 最多运行 5 分钟

sys.sp_reset_connection在 SQL Server 2019 CU13 [SQL1] 上运行长达 5 分钟。

同时,已将服务器链接到 [SQL1] 的其他 SQL Server [SQL100..SQL200] 正在超时:

TCP Provider:远程主机强行关闭了现有连接。
链接服务器“SQL1”的 OLE DB 提供程序“SQLNCLI11”返回消息“客户端无法建立连接”

是什么导致了连接问题?为什么sys.sp_reset_connection跑了这么久,还能跑得更快吗?