Niveaux d'isolement des transactions

 

THIS TOPIC APPLIES TO: yesSQL Server (starting with 2012)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

SQL Server ne garantit pas que les indicateurs de verrou sont respectés dans les requêtes ayant accès aux métadonnées à partir d'affichages catalogue, de vues de compatibilité, de vues de schémas d'informations et de fonctions intégrées générant des métadonnées.

En interne, le Moteur de base de données SQL Server ne respecte que le niveau d'isolement READ COMMITTED pour l'accès aux métadonnées. Quand une transaction a un niveau d'isolement correspondant, par exemple, à SERIALIZABLE et qu'un accès aux métadonnées est tenté dans le cadre de cette transaction à partir de vues de catalogue ou de fonctions intégrées générant des métadonnées, les requêtes sont exécutées jusqu'à ce qu'elles soient achevées en tant que READ COMMITTED. Dans le cas d'un isolement d'instantané, l'accès aux métadonnées peut toutefois échouer à cause d'opérations DDL simultanées. Étant donné que les métadonnées sont dépourvues de version, l'accès aux éléments suivants peut échouer en cas d'isolement d'instantané :

  • vues de catalogue ;

  • vues de compatibilité ;

  • Vues des schémas d'informations

  • fonctions intégrées générant des métadonnées ;

  • sp_help groupe de procédures stockées

  • SQL ServerProcédures de catalogue natives Client

  • vues et fonctions de gestion dynamique.

Pour plus d’informations sur les niveaux d’isolement, consultez SET TRANSACTION ISOLATION LEVEL (Transact-SQL).

Le tableau suivant comporte une synthèse d'accès aux métadonnées pour les différents niveaux d'isolement.

Niveau d'isolationPris en chargeRespect
READ UNCOMMITTEDNonNon garanti
READ COMMITTEDOuiOui
REPEATABLE READNonNon
SNAPSHOT ISOLATIONNonNon
SERIALIZABLENonNon

Ajouts de la communauté

AJOUTER
Afficher: