sp_releaseapplock (Transact-SQL)sp_releaseapplock (Transact-SQL)

CETTE RUBRIQUE S’APPLIQUE À :ouiSQL Server (à partir de la version 2008)ouiAzure SQL DatabasenonAzure SQL Data Warehouse nonParallel Data Warehouse THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)yesAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Libère un verrou appliqué à une ressource d'application.Releases a lock on an application resource.

Icône de lien de rubrique Conventions de la syntaxe Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SyntaxeSyntax


sp_releaseapplock [ @Resource = ] 'resource_name'   
     [ , [ @LockOwner = ] 'lock_owner' ]  
     [ , [ @DbPrincipal = ] 'database_principal' ]  
[ ; ]  

ArgumentsArguments

[ @Resource=] 'nom_ressource'[ @Resource= ] 'resource_name'
Nom de ressource de verrou spécifié par l'application cliente.Is a lock resource name specified by the client application. L'application doit veiller à ce que la ressource soit unique.The application must ensure that the resource is unique. Le nom spécifié est haché en interne en une valeur qui peut être stockée dans le gestionnaire de verrous SQL ServerSQL Server.The specified name is hashed internally into a value that can be stored in the SQL ServerSQL Server lock manager. resource_name est nvarchar (255) sans valeur par défaut.resource_name is nvarchar(255) with no default. resource_name est binaire, est donc la casse, indépendamment des paramètres de classement de la base de données actuelle.resource_name is binary compared, thus is case-sensitive regardless of the collation settings of the current database.

[ @LockOwner=] 'lock_owner'[ @LockOwner= ] 'lock_owner'
Propriétaire du verrou, qui est la valeur de lock_owner lorsque le verrou a été demandé.Is the owner of the lock, which is the lock_owner value when the lock was requested. lock_owner est de type nvarchar(32).lock_owner is nvarchar(32). La valeur peut être Transaction (valeur par défaut) ou Session.The value can be Transaction (the default) or Session. Lorsque le lock_owner valeur est Transaction, par défaut ou spécifiée explicitement, sp_getapplock doit être exécutée à partir d’une transaction.When the lock_owner value is Transaction, by default or specified explicitly, sp_getapplock must be executed from within a transaction.

[ @DbPrincipal=] 'principal_base_de_données'[ @DbPrincipal= ] 'database_principal'
Utilisateur, rôle ou rôle d'application qui dispose d'autorisations sur un objet d'une base de données.Is the user, role, or application role that has permissions to an object in a database. 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.The caller of the function must be a member of database_principal, dbo, or the db_owner fixed database role in order to call the function successfully. La valeur par défaut est public.The default is public.

Valeurs des codes de retourReturn Code Values

>= 0 (succès) ou < 0 (échec)>= 0 (success), or < 0 (failure)

ValeurValue RésultatResult
00 Le verrou a été libéré avec succès.Lock was successfully released.
-999-999 Indique la validation de paramètre ou une autre erreur d'appel.Indicates parameter validation or other call error.

NotesRemarks

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.When an application calls sp_getapplock multiple times for the same lock resource, sp_releaseapplock must be called the same number of times to release the lock.

Lorsque le serveur s'interrompt pour une raison quelconque, les verrous sont libérés.When the server shuts down for any reason, the locks are released.

AutorisationsPermissions

Nécessite l'appartenance au rôle public.Requires membership in the public role.

ExemplesExamples

L'exemple suivant libère le verrou associé à la transaction active sur la ressource Form1 de la base de données AdventureWorks2012.The following example releases the lock associated with the current transaction on the resource Form1 in the AdventureWorks2012 database.

USE AdventureWorks2012;  
GO  
EXEC sp_getapplock @DbPrincipal = 'dbo', @Resource = 'Form1',   
     @LockMode = 'Shared';  
EXEC sp_releaseapplock @DbPrincipal = 'dbo', @Resource = 'Form1';  
GO  

Voir aussiSee Also

APPLOCK_MODE (Transact-SQL) APPLOCK_MODE (Transact-SQL)
APPLOCK_TEST (Transact-SQL) APPLOCK_TEST (Transact-SQL)
sp_getapplock (Transact-SQL)sp_getapplock (Transact-SQL)