Funkcja MSSQL APPLOCK_TEST. Jak obliczyć?
Funkcja SQL Server APPLOCK_TEST jest używana do sprawdzania, czy dany obiekt jest zablokowany przez inną aplikację. Jest to szczególnie przydatne w sytuacjach, gdy wiele aplikacji próbuje uzyskać dostęp do tego samego obiektu. Funkcja APPLOCK_TEST pozwala aplikacji sprawdzić, czy obiekt jest już zablokowany przez inną aplikację, zanim aplikacja próbuje go uzyskać.
Składnia funkcji APPLOCK_TEST jest następująca:
APPLOCK_TEST (resource_type, resource_name, lock_owner)
Gdzie:
• resource_type jest typem zasobu, który chcesz sprawdzić. Może to być jeden z następujących typów: 'database’, 'table’, 'page’, 'key’, 'extent’, 'hobt’ lub ’allocation_unit’.
• resource_name jest nazwą zasobu, który chcesz sprawdzić.
• lock_owner jest identyfikatorem właściciela zamka. Może to być jeden z następujących identyfikatorów: 'transaction’, 'session’ lub 'application’.
Aby użyć funkcji APPLOCK_TEST, należy wywołać ją w zapytaniu SQL. Na przykład, aby sprawdzić, czy tabela o nazwie „Customers” jest zablokowana przez aplikację, można wykonać następujące zapytanie:
SELECT APPLOCK_TEST(’table’, 'Customers’, 'application’)
Jeśli tabela jest zablokowana przez aplikację, funkcja zwróci wartość 1. Jeśli tabela nie jest zablokowana przez aplikację, funkcja zwróci wartość 0.
Funkcja APPLOCK_TEST jest bardzo przydatna w sytuacjach, gdy wiele aplikacji próbuje uzyskać dostęp do tego samego obiektu. Pozwala aplikacji sprawdzić, czy obiekt jest już zablokowany przez inną aplikację, zanim aplikacja próbuje go uzyskać.