sp_releaseapplock (Transact-SQL)
S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed Instance
Libère un verrou appliqué à une ressource d'application.
Conventions de la syntaxe Transact-SQL
Syntaxe
sp_releaseapplock [ @Resource = ] 'resource_name'
[ , [ @LockOwner = ] 'lock_owner' ]
[ , [ @DbPrincipal = ] 'database_principal' ]
[ ; ]
Arguments
[ @Resource= ] 'resource_name'
Nom de ressource de verrou spécifié par l'application cliente. L'application doit veiller à ce que la ressource soit unique. Le nom spécifié est haché en interne dans une valeur qui peut être stockée dans le gestionnaire de verrous SQL Server. resource_name est nvarchar(255) sans valeur par défaut. resource_name est comparé binaire, ce qui respecte la casse indépendamment des paramètres de classement de la base de données active.
[ @LockOwner= ] 'lock_owner'
Propriétaire du verrou, qui est la valeur de lock_owner lorsque le verrou a été demandé. lock_owner est de type nvarchar(32). La valeur peut être Transaction (valeur par défaut) ou Session. Lorsque la valeur lock_owner est Transaction, par défaut ou spécifiée explicitement, sp_getapplock doit être exécutée à partir d’une transaction.
[ @DbPrincipal= ] 'database_principal'
Utilisateur, rôle ou rôle d'application qui dispose d'autorisations sur un objet d'une base de données. L’appelant de la fonction doit être membre du rôle de base de données fixe database_principal, dbo ou db_owner pour pouvoir appeler la fonction. La valeur par défaut est public.
Codet de retour
>= 0 (réussite) ou < 0 (échec)
Valeur | Résultats |
---|---|
0 | Le verrou a été libéré avec succès. |
-999 | Indique la validation de paramètre ou une autre erreur d'appel. |
Notes
Si une application utilise plusieurs fois sp_getapplock pour appeler la même ressource de verrou, sp_releaseapplock doit être appelée autant de fois pour libérer le verrou.
Lorsque le serveur s'interrompt pour une raison quelconque, les verrous sont libérés.
Autorisations
Nécessite l'appartenance au rôle public.
Exemples
L'exemple suivant libère le verrou associé à la transaction active sur la ressource Form1
de la base de données AdventureWorks2022
.
USE AdventureWorks2022;
GO
EXEC sp_getapplock @DbPrincipal = 'dbo', @Resource = 'Form1',
@LockMode = 'Shared';
EXEC sp_releaseapplock @DbPrincipal = 'dbo', @Resource = 'Form1';
GO
Voir aussi
APPLOCK_MODE (Transact-SQL)
APPLOCK_TEST (Transact-SQL)
sp_getapplock (Transact-SQL)
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour