sql-server - "deadlock victim"在事务中,如何更改优先级?

标签 sql-server tsql deadlock ssms database-deadlocks

我记录了一个 ASP.NET 应用程序抛出的异常。

Message: Transaction (Process ID 56) was deadlocked on lock | communication buffer resources with another process and has been chosen as the deadlock victim. Rerun the transaction.



我确定这是因为我正在运行一些 selects直接在 SSMS 中同时在应用程序中查询的表上。

所以现在我的问题是:
  • 我可以更改 SQL-Server 选择“死锁受害者”的优先级吗?我想选择“我自己”(SSMS)作为死锁受害者而不是 ASP.NET,因为它是一个时间关键的应用程序,而且我重新运行手动查询比让用户接受错误更容易。

  • 先感谢您。

    最佳答案

    SET DEADLOCK_PRIORITY允许您微调优先级

    您可以在 SSMS session 中(每个查询窗口)或全局指定它:

    Tools..Options..etc

    关于sql-server - "deadlock victim"在事务中,如何更改优先级?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6290114/

    相关文章:

    具有空值的多个字段的 SQL 联接

    c# - 针对 C# 开发人员的 Neo4j 和 MSSQL 实用性能比较

    C# - 安全地连接到远程 SQL Server?

    sql - 是否可以运行存储过程来设置更新语句中的值 - SQL

    c++ - 防止代码死锁的锁定策略和技术

    sql-server - 如何监视 SQL Server 中的表的更改

    sql - 在另一列中选择具有 MAX 的列子集上的 DISTINCT 记录

    sql - 在SQL中查找重复项

    java - System.out.println 和挂起线程导致死锁

    multithreading - 死锁有哪些类型?