Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL databáze v Microsoft Fabric
Uvolní zámek na aplikační zdroj.
Syntaxe
sp_releaseapplock
[ [ @Resource = ] N'Resource' ]
[ , [ @LockOwner = ] 'LockOwner' ]
[ , [ @DbPrincipal = ] N'DbPrincipal' ]
[ ; ]
Arguments
[ @Resource = ] N'Resource'
Název zámkového zdroje určený klientskou aplikací.
@Resource je nvarchar(255), s výchozím hodnotou NULL.
@Resource je binárně porovnávána, tedy citlivá na velká písmena bez ohledu na nastavení třídění v aktuální databázi.
Aplikace musí zajistit, že zdroj je jedinečný. Specifikovaný název je interně zahashován do hodnoty, kterou lze uložit do správce zámků SQL Serveru.
[ @LockOwner = ] 'LockOwner'
Majitel zámku, což je @LockOwner hodnota při žádosti o zámek.
@LockOwner je varchar(32), s výchozím hodnotou Transaction. Hodnota může být Sessiontaké . Když je hodnota @LockOwnerTransakci, ať už ve výchozím nastavení nebo výslovně stanovena, sp_getapplock musí být provedena přímo v transakci.
[ @DbPrincipal = ] N'DbPrincipal'
Uživatel, role nebo aplikační role, která má oprávnění k objektu v databázi.
@DbPrincipal je sysname, s výchozím nastavením public. Volající funkce musí být členem database_principal, dbo nebo db_owner pevné databázové role, aby bylo možné funkci úspěšně volat.
Hodnoty návratového kódu
>= 0 (úspěch), nebo < 0 (neúspěch).
| Hodnota | Result |
|---|---|
0 |
Lock byl úspěšně propuštěn. |
-999 |
Označuje validaci parametrů nebo jinou chybu volání. |
Poznámky
Když aplikace volá sp_getapplock více pro stejný zdroj zámku, musí být volán stejný početkrát, sp_releaseapplock aby zámek uvolnil.
Když se server z jakéhokoliv důvodu vypne, zámky se uvolní.
Povolení
Vyžaduje členství ve veřejné roli .
Examples
Následující příklad uvolňuje zámek spojený s aktuální transakcí na zdroji Form1AdventureWorks2025 v databázi.
USE AdventureWorks2022;
GO
EXECUTE sp_getapplock
@DbPrincipal = 'dbo',
@Resource = 'Form1',
@LockMode = 'Shared';
EXECUTE sp_releaseapplock
@DbPrincipal = 'dbo',
@Resource = 'Form1';
GO