Udostępnij za pośrednictwem


sp_releaseapplock (języka Transact-SQL)

Zwalnia blokada aplikacji zasób.

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

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