Transaction (Process ID) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
当我的一个网站繁忙时,我会随机收到此错误。我大致知道它在哪组表上发生,但是根据我在其他程序中的经验,我通常会在发生死锁的地方返回SQL。我应该打开一个标志来允许这种情况发生吗?
我将尝试将死锁本身作为一个单独的问题进行调试,因为这是我目前的主要问题。
我正在使用SQL Server 2008标准版。
您可以重新启动服务吗?如果能够退回该服务,则可以在启动参数中添加添加跟踪标志1204,以将死锁的详细信息记录到SQL Server日志中。> 1204:返回参与死锁的资源和锁类型,以及受影响的当前命令。>>适用范围:全球唯一的
—
Tevo d
使用配置管理器。在“ SQL Server服务”下,右键单击并打开属性。转到高级选项卡,启动参数。您将具有用于主数据库文件等位置的条目。添加
—
Tevo D 2012年
;-T1204
跟踪标志以结束并重新启动服务。
为什么要重启服务?DBCC TRACEON(1204,-1)
—
Mark Storey-Smith
从msdn.microsoft.com/zh-cn/library/ms188396.aspx:行为更改:在SQL Server 2000中,简单的DBCC TRACEON(1204)足以启用向错误日志的死锁报告。在SQL Server 2008中,必须全局启用该标志,因为会话级标志对于死锁监视器线程是不可见的。
—
Tevo D 2012年
@TevoD- 表示全局的
—
马丁·史密斯
-1
参数DBCC TRACEON
。