对于数据库死锁,通常可以通过trace flag 1204、1205、1206,检查errorlog里面的输出,和分析sqltrace的执行上下文判断死锁问题的来由。 traceon函数的第三个参数设置为-1,表示不单单针对当前connection,而是针对所有包括未来建立 的connection。这样,才够完全,否则只是监视当前已经建立的数据库连接了。
执行下面的话可以把死锁记录到errorlog中:
dbcc traceon (1204, 3605, -1) go dbcc tracestatus(-1) go