|
|
Publié sur 20/07/2016 14:02:51
|
|
|

NONLOCK Lorsque cette option est sélectionnée, SQL Server lit ou modifie les données sans aucun verrouillage. Dans ce cas, l’utilisateur peut lire des données provenant d’une transaction non engagée ou d’un retour en arrière, appelé « données sales ».
VERROUILLAGE DE MAINTIEN Lorsque cette option est sélectionnée, SQL Server maintient ce verrou partagé jusqu’à la fin de toute la transaction sans le relâcher en chemin.
MISE À JOUR Lorsque cette option est sélectionnée, SQL Server utilise un verrou de modification au lieu d’un verrou partagé lors de la lecture des données et maintient ce verrou jusqu’à la fin de toute la transaction ou de la commande. Cette option garantit que plusieurs processus peuvent lire les données simultanément, mais que seul ce processus peut modifier les données.
TABLOCK Lorsque cette option est sélectionnée, SQL Server place un verrou partagé sur toute la table jusqu’à la fin de la commande. Cette option garantit que les autres processus ne peuvent que lire les données et ne pas les modifier.
PAGLOCK Cette option est l’option par défaut, et une fois sélectionnée, SQL Server utilise un verrou de page partagé.
TABLOCKX (Verrouillage exclusif de table) Lorsque cette option est sélectionnée, SQL Server place un verrou sur toute la table jusqu’à la fin de la commande ou de la transaction. Cela empêchera d’autres processus de lire ou de modifier les données dans le tableau.
HOLDLOCK conserve le verrou partagé jusqu’à la fin de la transaction complète et doit être libéré dès que l’objet verrouillé n’est plus nécessaire, soit le niveau d’isolation de la transaction SÉRIALISABLE
L’instruction NOLOCK est exécutée sans émettre de verrou partagé, permettant des lectures sale, qui correspondent au niveau d’isolation de la transaction READ UNCOMMITTED
PAGLOCK utilise plusieurs verrous de page où un seul verrou de table est utilisé
READPAST permet au serveur SQL de sauter toutes les lignes verrouillées et d’exécuter des transactions, et pour les niveaux d’isolement des transactions READ NON engagés, ne sauter que les verrous RID, pas les verrous de page, de zone et de table
ROWLOCK impose l’utilisation des rowlocks
TABLOCKX impose l’utilisation d’un verrou exclusif au niveau de la table, qui empêche toute autre transaction d’utiliser la table pendant la transaction
UPLOCK impose l’utilisation de mises à jour lors de la lecture d’une table sans verrou partagé
Note : La différence entre verrouiller une table dans une base de données SELECT * FROM table WITH (HOLDLOCK) D’autres transactions peuvent lire la table, mais ne peuvent ni être mises à jour ni supprimées SELECT * FROM table WITH (TABLOCKX) Les autres transactions ne peuvent pas lire, mettre à jour et supprimer les tables |
Précédent:Serrures, lectures sales, lectures non répétables et fausses lectures en SQLProchain:SQL Server examine l’impasse et le libère
|