【问题标题】:Deadlock Issue: While Merge to SQL DB死锁问题:合并到 SQL DB 时
【发布时间】:2022-01-06 07:34:20
【问题描述】:

有谁知道如何解决这个问题,在我们尝试将数据合并到 sql db 的 databricks 笔记本代码中,经常看到错误 -

com.microsoft.sqlserver.jdbc.SQLServerException: Transaction was deadlocked on lock |具有另一个进程的通用等待对象资源,并已被选为死锁牺牲品。重新运行事务

【问题讨论】:

  • 请提供足够的代码,以便其他人更好地理解或重现问题。

标签: azure-sql-database deadlock


【解决方案1】:

死锁问题是由第一个事务正在等待第二个事务(释放 table2)而第二个事务同时等待第一个事务(释放 table1)的情况引起的。

  1. 确保应用程序以相同的顺序访问所有共享对象。

  2. 让交易保持简短。

  3. 确保应用程序使用最低必要的事务隔离级别。

请参考 Alexandr Omelchenko 的 article

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多