Niveaux d'isolement des transactionsTransaction Isolation Levels

CETTE RUBRIQUE S’APPLIQUE À : ouiSQL Server (à partir de la version 2012)nonAzure SQL DatabasenonAzure SQL Data WarehousenonParallel Data Warehouse THIS TOPIC APPLIES TO: yesSQL Server (starting with 2012)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

SQL ServerSQL 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. does not guarantee that lock hints will be honored in queries that access metadata through catalog views, compatibility views, information schema views, metadata-emitting built-in functions.

En interne, le Moteur de base de données SQL ServerSQL Server Database Engine ne respecte que le niveau d'isolement READ COMMITTED pour l'accès aux métadonnées.Internally, the Moteur de base de données SQL ServerSQL Server Database Engine only honors the READ COMMITTED isolation level for metadata access. 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.If a transaction has an isolation level that is, for example, SERIALIZABLE and within the transaction, an attempt is made to access metadata by using catalog views or metadata-emitting built-in functions, those queries will run until they are completed as 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.However, under snapshot isolation, access to metadata might fail because of concurrent DDL operations. Étant donné que les métadonnées sont dépourvues de version,This is because metadata is not versioned. l'accès aux éléments suivants peut échouer en cas d'isolement d'instantané :Therefore, accessing the following under snapshot isolation might fail:

  • vues de catalogue ;Catalog views

  • vues de compatibilité ;Compatibility views

  • Vues des schémas d'informationsInformation Schema Views

  • fonctions intégrées générant des métadonnées ;Metadata-emitting built-in functions

  • sp_help groupe de procédures stockéessp_help group of stored procedures

  • SQL ServerSQL ServerProcédures de catalogue natives Client Native Client catalog procedures

  • vues et fonctions de gestion dynamique.Dynamic management views and functions

    Pour plus d’informations sur les niveaux d’isolation, consultez SET TRANSACTION ISOLATION LEVEL ( Transact-SQL ) .For more information about isolation levels, see 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.The following table provides a summary of metadata access under various isolation levels.

Niveau d'isolationIsolation level Pris en chargeSupported RespectHonored
READ UNCOMMITTEDREAD UNCOMMITTED NonNo Non garantiNot guaranteed
READ COMMITTEDREAD COMMITTED OuiYes OuiYes
REPEATABLE READREPEATABLE READ NonNo NonNo
SNAPSHOT ISOLATIONSNAPSHOT ISOLATION NonNo NonNo
SERIALIZABLESERIALIZABLE NonNo NonNo