Partager via


Notions de base du verrouillage

Pour comprendre le verrouillage dans Microsoft SQL Server 2005 Compact Edition (SQL Server Compact Edition), vous devez connaître les ressources qui peuvent être verrouillées ainsi que les différents modes que vous pouvez utiliser pour verrouiller des ressources.

Granularité de verrouillage

La granularité de verrouillage fait référence au niveau auquel sont placés les verrous :

  • Ligne
  • Table
  • Page
  • Base de données

Le verrouillage à une granularité plus faible, par exemple au niveau de la ligne, augmente la simultanéité mais un plus grand nombre de verrous doit être géré si de nombreuses lignes sont verrouillées. Le verrouillage à une granularité plus large, par exemple au niveau de la table, réduit la simultanéité étant donné que le verrouillage d'une table entière interdit aux autres transactions l'accès à toute partie de la table. Toutefois, pour le verrouillage au niveau de la table, un moins grand nombre de verrous doivent être gérés.

Par défaut, SQL Server Compact Edition utilise le verrouillage au niveau des lignes pour les pages de données et le verrouillage au niveau des pages pour les pages d'index.

Le tableau suivant indique les ressources qui peuvent être verrouillées par SQL Server Compact Edition.

Verrous Description

RID

Identificateur de verrou. Utilisé pour verrouiller une seule ligne dans une table.

PAG

Page de données ou page d'index.

TAB

Table entière, y compris toutes les données et les index.

MD

Métadonnées de table. Utilisé pour protéger le schéma d'une table.

DB

Base de données

Modes de verrouillage

Les modes de verrouillage déterminent la manière dont les transactions simultanées peuvent accéder aux données. SQL Server Compact Edition détermine le mode de verrouillage à utiliser sur la base des ressources qui doivent être verrouillées et des opérations à effectuer.

Le tableau suivant décrit les modes de verrouillage pris en charge par SQL Server Compact Edition.

Mode de verrouillage Description

Partagé

Protège une ressource en accordant uniquement l'accès en lecture. Aucune autre transaction ne peut modifier les données tant qu'il existe des verrous partagés sur la ressource.

Exclusif

Indique une modification de données, telle qu'une insertion, une mise à jour ou une suppression. Assure que plusieurs mises à jour ne puissent pas être effectuées simultanément sur la même ressource.

Mise à jour

Empêche une forme commune de blocage. Une seule transaction à la fois peut obtenir un verrou de mise à jour sur une ressource. Si la transaction modifie la ressource, le verrou de mise à jour est transformé en verrou exclusif.

Schéma

Utilisé lors de l'exécution d'une opération dépendant du schéma d'une table. Les types de verrous de schéma sont Modification du schéma (Sch-M) et Stabilité du schéma (Sch-S).

Intention

Établit une hiérarchie de verrous. Les types de verrous intentionnels les plus fréquents sont le verrou intentionnel de partage, le verrou intentionnel de mise à jour et le verrou intentionnel d'accès exclusif. Ces verrous indiquent qu'une transaction opère sur certaines (pas toutes) ressources inférieures de la hiérarchie. Les ressources de niveau inférieur auront un verrou Partagé, Mise à jour ou Exclusif.

Important :
Pour le niveau d'isolement Lecture validée, une instruction SELECT dans SQL Server Compact Edition ne nécessite pas l'utilisation de verrous partagés pour lire les données. Bien que ce soit nécessaire pour Microsoft SQL Server, SQL Server Compact Edition ne nécessite pas le verrou Partagé pour appliquer le niveau d'isolement Lecture validée. Le seul verrou requis pour l'instruction SELECT est le verrou Stabilité du schéma (Sch-S), qui protège le schéma lors de l'opération. En conséquence, les instructions SELECT présentent une simultanéité élevée. Pour plus d'informations, consultez Niveau d'isolement des transactions.

Voir aussi

Concepts

Verrouillage [SQL Server Compact Edition]
Présentation du verrouillage
Personnalisation du verrouillage

Aide et information

Assistance sur SQL Server Compact Edition