如何使用来自两个不同数据库的锁。当一个会话获取锁时,没有什么可以阻止不同的会话从不同的数据库获取相同的锁。
第一届:
USE db_one;
EXEC @lock_result = sp_getapplock @Resource = 'my_resource',
@LockMode = 'Exclusive',
@LockTimeout = 30000;
第二届:
USE db_two;
EXEC @lock_result = sp_getapplock @Resource = 'my_resource',
@LockMode = 'Exclusive',
@LockTimeout = 30000;
第二个会话立即获取锁,而不是等待锁。现在两个会话似乎同时具有相同的锁。