在TSQL中,如果需要判断当前错误是否是因为死锁引起,可以使用ERROR_NUMBER()=1205来判断
在C#中,使用SQLException来捕获
SQLException.Number=1205代表由死锁引发
使用跟踪标记来查看死锁
1204
返回参与死锁的锁的资源和类型,以及受影响的当前命令。作用域:仅全局
1222 以不符合任何XSD 架构的XML
格式,返回参与死锁的锁的资源和类型,以及受影响的当前命令
--发生死锁时,跟踪标志1204和1222会向SQL错误日志返回捕获的信息
--跟踪标志1204会报告由死锁所涉及的每个节点设置格式的死锁信息,
--1204是SQL2005之前版本就有的功能。跟踪标志1222是SQL2005才开始
--有的新功能,会设置死锁信息的格式,顺序为先按进程,然后按
--资源。1222的结果不但基本包含了1204的所有信息,还包含许多1204
--所没有的信息。所以在SQL2005以后可以直接使用跟踪标志1222来
--跟踪死锁