Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-databas i Microsoft Fabric
Släpper låset på en applikationsresurs.
Transact-SQL syntaxkonventioner
Syntax
sp_releaseapplock
[ [ @Resource = ] N'Resource' ]
[ , [ @LockOwner = ] 'LockOwner' ]
[ , [ @DbPrincipal = ] N'DbPrincipal' ]
[ ; ]
Arguments
[ @Resource = ] N'Resource'
Ett låsresursnamn som specificeras av klientapplikationen.
@Resource är nvarchar(255), med en standard på NULL.
@Resource är binärjämförelse, alltså kasuskänslig oavsett sorteringsinställningarna i den aktuella databasen.
Applikationen måste säkerställa att resursen är unik. Det angivna namnet hashas internt till ett värde som kan lagras i SQL Server-låshanteraren.
[ @LockOwner = ] 'Låsägare'
Ägaren till låset, vilket är det @LockOwner värdet när låset begärdes.
@LockOwner är varchar(32), med standardvärdet .Transaction Värdet kan också vara Session. När @LockOwner värde är Transaktion, som standard eller explicit specificerat, sp_getapplock måste det utföras inifrån en transaktion.
[ @DbPrincipal = ] N'DbPrincipal'
Användaren, rollen eller applikationsrollen som har behörigheter till ett objekt i en databas.
@DbPrincipal är sysname, med standardvärdet .public Anroparen av funktionen måste vara medlem i database_principal, dbo eller den db_owner fasta databasrollen för att funktionen ska kunna anropas framgångsrikt.
Returnera kodvärden
>= 0 (framgång), eller < 0 (misslyckande).
| Värde | Result |
|---|---|
0 |
Lock frigavs framgångsrikt. |
-999 |
Indikerar parametervalidering eller annat anropsfel. |
Anmärkningar
När en applikation anropar sp_getapplock flera gånger för samma låsresurs sp_releaseapplock måste anropas lika många gånger för att släppa låset.
När servern stängs ner av någon anledning släpps låsen.
Permissions
Kräver medlemskap i offentlig roll.
Examples
Följande exempel frigör låset som är kopplat till den aktuella transaktionen på resursen Form1 i databasen AdventureWorks2025 .
USE AdventureWorks2022;
GO
EXECUTE sp_getapplock
@DbPrincipal = 'dbo',
@Resource = 'Form1',
@LockMode = 'Shared';
EXECUTE sp_releaseapplock
@DbPrincipal = 'dbo',
@Resource = 'Form1';
GO