是否有相当于SQL Server 2008的互斥或临界区?

时间:2013-01-14 21:54:07

标签: sql sql-server sql-server-2008 locking mutex

  

可能重复:
  Mutex analog in SQL?

我们有一个很大的ASP.NET Web服务,它依赖于大量使用SQL Server 2008数据库。最近我开始在日志中看到以下消息:

  

错误1205:事务(进程ID)在资源上死锁   另一个进程并被选为死锁受害者。重新运行   事务。

我非常了解多线程编程并了解死锁是什么。在多线程C ++或C#代码中,我会使用mutexcritical section来隔离代码的互斥部分以防止死锁。

所以我想知道SQL Server是否具有相同的互斥机制?

为了澄清,我有很多复杂的陈述,例如:

BEGIN TRANSACTION
'doing other SQL selects, updates, etc.
COMMIT

所以我要找的是:

'ENTER CRITICAL SECTION
BEGIN TRANSACTION
'doing other SQL selects, updates, etc.
COMMIT
'LEAVE CRITICAL SECTION

通过这种方法,我正在寻找一种简单的解决方案,不需要重新编写经过测试和验证的SQL逻辑。

0 个答案:

没有答案