Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server &引用;“死锁受害者”;在事务中,如何更改优先级?_Sql Server_Tsql_Deadlock_Ssms_Database Deadlocks - Fatal编程技术网

Sql server &引用;“死锁受害者”;在事务中,如何更改优先级?

Sql server &引用;“死锁受害者”;在事务中,如何更改优先级?,sql-server,tsql,deadlock,ssms,database-deadlocks,Sql Server,Tsql,Deadlock,Ssms,Database Deadlocks,我记录了ASP.NET应用程序引发的异常 消息:事务(进程ID 56) 在锁定通信上陷入僵局 使用另一个进程缓冲资源 并被选为死锁 受害者。重新运行事务 我确信这样做的原因是,我在SSMS中直接对同时在应用程序中查询的表运行了一些select 现在我的问题是: 我可以更改SQL Server选择“死锁受害者”的优先级吗?我想选择“我自己”(SSMS)作为死锁受害者,而不是ASP.NET,因为它是一个时间关键型应用程序,对我来说,重新运行手动查询比让用户接受错误更容易 提前谢谢。允许您微调优先

我记录了ASP.NET应用程序引发的异常

消息:事务(进程ID 56) 在锁定通信上陷入僵局 使用另一个进程缓冲资源 并被选为死锁 受害者。重新运行事务

我确信这样做的原因是,我在SSMS中直接对同时在应用程序中查询的表运行了一些
select

现在我的问题是:

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

允许您微调优先级

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


谢谢。这意味着我可以将其更改为
Low
,以降低SSMS查询的优先级?那对我会有用的。是否有其他选项可以微调死锁优先级?我已经读到SQLServer在默认情况下选择死锁受害者来回滚事务。是吗?@Tim Schmelter:对于SSMS查询,选择“低”。没有其他选择。根据上面我的链接,选择最少资源回滚的受害者:“如果两个会话具有相同的死锁优先级,SQL Server实例将选择成本较低的会话作为死锁受害者进行回滚。”MS Dynamics NAV为不允许在其C/AL代码中更改此项表示感谢。如果是在用户和无人参与的进程(失败时可以重试)之间,我希望无人参与的进程“丢失”。