Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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