Partager via


Niveaux d’isolation des transactions

Applies to:SQL ServerAzure SQL Managed Instance

SQL Server ne garantit pas que les indicateurs de verrouillage seront respectés dans les requêtes qui accèdent aux métadonnées par le biais d’affichages catalogue, de vues de compatibilité, de vues de schéma d’informations, de fonctions intégrées émettrices de métadonnées.

En interne, le moteur de base de données SQL Server respecte uniquement le niveau d’isolation pour l’accès READ COMMITTED aux métadonnées. Si une transaction a un niveau d’isolation, par exemple SERIALIZABLE et dans la transaction, une tentative d’accès aux métadonnées à l’aide de vues catalogue ou de fonctions intégrées émettrices de métadonnées s’exécute jusqu’à ce qu’elles soient terminées 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. Cela est dû au fait que les métadonnées ne sont pas versionnée. l'accès aux éléments suivants peut échouer en cas d'isolement d'instantané :

  • Catalog views
  • Compatibility views
  • Vues des schémas d'information
  • fonctions intégrées générant des métadonnées ;
  • sp_help groupe de procédures stockées
  • Procédures de catalogue SQL Server Native Client
  • vues et fonctions de gestion dynamique.

Pour plus d’informations sur les niveaux d’isolation, consultez SET TRANSACTION ISOLATION LEVEL.

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

Isolation level Supported Honored
READ UNCOMMITTED No Not guaranteed
READ COMMITTED Yes Yes
REPEATABLE READ No No
SNAPSHOT ISOLATION No No
SERIALIZABLE No No