知道在哪个表格上开始转发'已经发生或找到哪个表被锁定/死锁

时间:2014-05-28 13:10:19

标签: sql-server-2008

我是c#和sql server的新手。我正在使用SQL Server 2008,我的数据库中有126个表。

有7个事务表,插入/更新查询经常触发,因为我的应用程序有30-40个用户。

我在每个查询之前编写了BEGIN TRAN,在查询结束时编写了COMMIT。 现在很多次我收到错误' Timeout已过期......'当任何随机用户尝试打开表单或保存一些数据时。

如果触发器抛出错误,我在触发器中写了ROLLBACK

但我无法确定哪个表BEGIN TRAN已经发生或哪个表已死锁。

我确保我的连接正确且已打开,然后我也收到此错误 我无法确定它的来源。

有没有人知道这个' Timeout到期的位置'错误即将到来,可以建议我出路吗?

1 个答案:

答案 0 :(得分:0)

  

有没有人知道“Timeout expired”错误即将发生的地方,并且可以建议我一些出路。

可能的原因之一是事务无法获取某些资源(表,行,...)的锁定。 在这种情况下,您可以尝试增加LOCK_TIMEOUT或更改isolation level(如果可以接受)。

我建议您阅读this文章。