sys.sp_getapplock
general #stored-procedure
Description
Places a lock on an application resource. A string specifying a name that identifies the lock resource. If a resource string is longer than The application must ensure that the resource name is unique. The specified name is hashed internally into a value that can be stored in the SQL Server lock manager.
Syntax
sys.sp_getapplock
[ [ @
R esource = ]
N
'Resource'
]
, [ @
L ock
M ode = ]
'LockMode'
[ , [ @
L ock
O wner = ]
'LockOwner'
]
[ , [ @
L ock
T imeout = ]
L ock
T imeout ]
[ , [ @
D b
P rincipal = ]
N
'DbPrincipal'
]
[ ; ]
Examples
Example 1
sp_getapplock
Example 2
sys.dm_tran_locks
Example 3
sp_lock
Example 4
Form1
Example 5
AdventureWorks2025
Example 6
dbo
Example 7
BEGIN
ROLLBACK
;
END
ELSE
BEGIN
EXECUTE
@
result
= sp_releaseapplock
@
Resource
=
'Form1'
;
COMMIT
TRANSACTION
;
END
GO
Example 8
USE
AdventureWorks2025;
GO
BEGIN
TRANSACTION
;
DECLARE
@
result
AS
INT
;
EXECUTE
@
result
= sp_getapplock
@
Resource
=
'Form1'
,
@LockMode =
'Shared'
;
COMMIT
TRANSACTION
;
GO
Example 9
BEGIN
TRANSACTION
;
EXECUTE sp_getapplock
@DbPrincipal =
'dbo'
,
@
Resource
=
'AdventureWorks2025'
,
@LockMode =
'Shared'
;
COMMIT
TRANSACTION
;
GO
Example 10
@
Resource
=
'Form1'
;
GO
(. and 2 more examples)