sp_releaseapplock (języka Transact-SQL)
Zwalnia blokada aplikacji zasób.
Składnia
sp_releaseapplock [ @Resource = ] 'resource_name'
[ , [ @LockOwner = ] 'lock_owner' ]
[ , [ @DbPrincipal = ] 'database_principal' ]
[ ; ]
Argumenty
[ @Resource= ] 'resource_name'
Nazwazasób blokadajest określony przez aplikację klient . Aplikacja musi zapewnić, że zasób jest unikatowa.Określona nazwa jest mieszany wewnętrznie do wartości, które mogą być przechowywane w SQL Server blokada manager.resource_namejest nvarchar(255)z nie domyślnych.resource_namejest binarnych w porównaniu, co ma przypadek-niezależnie od ustawienia sortowanie bieżącej bazy danych poufnych.[ @LockOwner= ] 'lock_owner'
Jest właścicielem blokada, który jest lock_owner wartość przy wymagana była blokada .lock_owneris nvarchar(32).Wartość może być Transaction (domyślnie) lub Session.Gdy lock_owner wartość jest Transaction, poprzez domyślne lub określone jawnie, sp_getapplock muszą być wykonane z w ramach transakcji.[ @DbPrincipal= ] 'database_principal'
Jest użytkownik, rola lub rola aplikacji , która ma uprawnienia do obiektu w bazie danych.Obiekt wywołujący funkcja musi być element członkowski database_principal, dbo, lub db_owner stałej rola bazy danych do wywołania funkcja pomyślnie.Wartością domyślną jest publiczna.
Wartości kodów powrotnych
>= 0 (sukces) lub < 0 (Brak)
Wartość |
Wynik |
---|---|
0 |
Zablokuj został pomyślnie wydany. |
-999 |
Wskazuje metodę sprawdzania parametrów lub inny błąd wywołania. |
Uwagi
Gdy aplikacja wywołuje sp_getapplock wiele razy dla tego samego blokada zasób sp_releaseapplock musi zostać wywołana taką samą liczbę razy, aby zwolnić blokada.
Podczas niedziałający blokad są zwalniane.
Uprawnienia
Wymaga członkostwa w public rolę.
Przykłady
Poniższy przykład zwalnia blokada skojarzonych z bieżącej transakcji zasób Form1 w AdventureWorks2008R2 bazy danych.
USE AdventureWorks2008R2;
GO
EXEC sp_getapplock @DbPrincipal = 'dbo', @Resource = 'Form1',
@LockMode = 'Shared';
EXEC sp_releaseapplock @DbPrincipal = 'dbo', @Resource = 'Form1';
GO
Zobacz także