sql - 死锁是否会导致任何活动连接超时/中断?
问题描述
我有一个基本的 SQL 问题,如果有两个活动连接,“A”和“B”到 SQL 服务器,假设两者之间发生死锁,所以为了避免死锁,SQL 服务器将回滚其中一个事务,连接“A”或“B”。假设 SQL 服务器回滚连接“A”的事务,这种事务回滚是否也会导致连接 A 的连接超时/连接中断?——</p>
解决方案
这些都不会发生。当一个连接被选为死锁牺牲品时,所发生的只是事务将自动回滚,除此之外别无其他。连接仍将处于活动状态(如果需要,可以立即再次使用),但任何先前关于被终止事务的指令都将丢失,必须重做。
超时是一种完全不同的事件,它始终由客户端控制,并在客户端“放弃”等待响应时发生。但是死锁是在服务器端生成的,会导致连接出错,否则连接仍然存在,就像许多其他错误一样。
推荐阅读
- c# - 将 C# 模板添加到 XAML 代码。我该如何进行绑定?
- javascript - 不确定如何使此代码与本机兼容
- list - Prolog:交换列表错误中的两个指定索引元素
- python - 有没有一种方法可以从医学 MeSH 数据中使用 sparql 获取数据?
- kubernetes - kubernetes 入口控制器 CrashLoopBackOff 错误
- r - assignInMyNamespace 有哪些用例?
- html - 引导向列添加颜色
- python - django 结合两个查询集并将其调用为 html
- aws-lambda - 如何访问 Lambda 函数中的 Cognito UserPoolClient 密钥?
- stm32 - 这是SPI的正确方法吗?