kat*_*tit 6 t-sql sql-server locking sql-server-2008-r2
我正在实现内部没有事务的存储过程.实际上,它会,但只在特定点上将时间减少到最小.存储过程的本质是这样的,我一次只想要一个runinng.
我尝试使用sp_getapplock但很快发现它需要在内部事务中.
有没有其他的替代方案,我可以锁定整个程序,但没有包装成交易?
iru*_*var 11
通过@LockOwner传递Session以获得会话范围锁; 当锁定时,这不需要事务处于活动状态.
例如
EXEC @res = sp_getapplock @Resource = 'Lock ID', @LockOwner = 'Session', @LockMode = 'Exclusive';
..
code
..
EXEC @res = sp_releaseapplock @Resource = 'Lock ID';
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5043 次 |
| 最近记录: |