KB3174711 : SYSTEM_VERSIONING n’est pas activé pour une table d’une base de données dont le niveau d’isolation READ_COMMITTED_SNAPSHOT est activé dans SQL Server 2016

S’applique à
SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use)

Symptômes

Vous essayez d’activer SYSTEM_VERSIONING pour une table à mémoire optimisée dans une base de données dont le niveau d’isolation READ_COMMITTED_SNAPSHOT est activé. Si le DATA_CONSISTENCY_CHECK n’est pas désactivé, un message d’erreur semblable au suivant peut s’afficher :

Remarque

Msg 41359, Niveau 16, État 0, Ligne 36Une requête qui accède aux tables à mémoire optimisée à l’aide du niveau d’isolation READ COMMITTED ne peut pas accéder aux tables sur disque lorsque l’option de base de données READ_COMMITTED_SNAPSHOT est activée. Fournissez un niveau d’isolation pris en charge pour la table à mémoire optimisée à l’aide d’un indicateur de table, tel que WITH (SNAPSHOT).

      

Résolution

Le correctif de ce problème est inclus dans la mise à jour cumulative suivante pour SQL Server :

Mise à jour cumulative 1 pour SQL Server 2016
      

À propos des mises à jour cumulatives pour SQL Server

Chaque nouvelle mise à jour cumulative pour SQL Server contient tous les correctifs logiciels et tous les correctifs de sécurité inclus dans la mise à jour cumulative précédente. Consultez les dernières mises à jour cumulatives pour SQL Server :

Dernière mise à jour cumulative pour SQL Server 2016
      

Solution de contournement

Pour contourner ce problème, désactivez le case activée de cohérence des données en ajoutant la clause DATA_CONSISTENCY_CHECK = OFF dans votre instruction CREATE TABLE.

État

Microsoft a confirmé qu’il s’agissait d’un problème dans les produits Microsoft répertoriés dans la section « S’applique à ».

Références

Découvrez la terminologie utilisée par Microsoft pour décrire les mises à jour logicielles.