gpt4 book ai didi

sql-server - 如何自动重新运行死锁的事务? (ASP.NET MVC/SQL Server)

转载 作者:行者123 更新时间:2023-12-02 21:34:01 25 4
gpt4 key购买 nike

我有一个非常受欢迎的 ASP.NET MVC/SQL Server 站点,不幸的是发生了很多死锁。当我试图通过 SQL 探查器找出它们发生的原因时,我想知道如何在执行死锁时更改 SQL Server 的默认行为。

是否可以重新运行导致问题的事务而不显示错误屏幕?

最佳答案

Remus's answer是有根本性缺陷的。根据https://stackoverflow.com/a/112256/14731一致的锁定顺序并不能防止死锁。我们能做的最好的事情就是减少它们的频率。

他在两点上是错误的:

  1. 这意味着死锁是可以预防的。您会发现 Microsoft 和 IBM 都发布了有关减少死锁频率的文章。他们没有在哪里声称你可以完全阻止他们。
  2. 这意味着所有死锁都要求您重新评估状态并做出新决定。只要您回溯到决策点足够远,在应用程序级别重试某些操作是完全正确的。

旁注:Remus 的主要观点是数据库无法代表您自动重试该操作,他在这一点上是完全正确的。但这并不意味着重新运行操作是对死锁的错误响应。

关于sql-server - 如何自动重新运行死锁的事务? (ASP.NET MVC/SQL Server),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2941233/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com