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)