0

以下链接描述了可序列化事务隔离级别。

http://blogs.msdn.com/b/sqlcat/archive/2011/02/20/concurrency-series-basics-of-transaction-isolation-levels.aspx

假设我有一个用户更新表[dbo].[Table_A]。另一个用户正在更新 table [dbo].[Table_B]。而且我想序列化这两个更新语句(意味着在第二个开始之前等待第一个完成),尽管我们正在接触不同的表。我猜我不能使用表锁,但也许范围锁可以做到这一点。有人可以帮我理解代码的样子吗?或者这不适用于 SQL Server 2008 中的事务隔离级别功能?

4

1 回答 1

1

您可以放置​​应用程序锁:

EXEC  sp_getapplock @resource = 'my_resource_token', @lockMode = 'Exclusive'

UPDATE ...

EXEC  sp_releaseapplock @resource = 'my_resource_token'

如果另一个会话已获得,这将锁定my_resource_token

于 2013-04-25T08:23:25.797 回答