Se connecter avec Microsoft
S'identifier ou créer un compte.
Bonjour,
Sélectionnez un autre compte.
Vous avez plusieurs comptes
Choisissez le compte avec lequel vous voulez vous connecter.

Symptômes

Supposons que vous utilisez Microsoft SQL Server 2016 ou 2017. Lorsque vous traitez des transactions de données optimisées en mémoire à l’aide de variables de table à mémoire optimisée avec l’instruction where exists , vous pouvez obtenir un résultat incorrect.

Par exemple :

Étape 1 : Créer une base de données et une table mémoire optimisées.

Créer une démonstration DATABASE

DÉMONSTRATION ALTER DATABASE ADD FILEGROUP demo_mod CONTAINS MEMORY_OPTIMIZED_DATA 

DÉMONSTRATION ALTER DATABASE ADD FILE (name='demo_mod1', filename='C:\DATA\demo_mod1') TO FILEGROUP demo_mod 

Utiliser la démonstration

Aller

CREATE TYPE dbo. IN_MEMORY_TABLE_TYPE AS TABLE

( source_col INT NULL,

target_col INT non NULL

INDEX ix_InMemoryTable NON-CLUSTER (target_col)

) WITH (MEMORY_OPTIMIZED = ON)

ALLER

Étape 2 : Insérer des données et mettre à jour les données.

DECLARE @t dbo. IN_MEMORY_TABLE_TYPE

INSERT @t ( source_col, target_col ) VALUES (10, 0),(0, 0)

select * from @t

UPDATE r1 SET target_col = -1 FROM @t r1

WHERE EXISTS ( SELECT * FROM @t r2 WHERE r2.source_col > 0 )

SELECT * FROM @t

ALLER

Étape 3 : vérifier les résultats.

Résultats réels : toutes les lignes de variable de table @t ne sont pas mises à jour.

source_col | target_col

----------------------

10 | -1

0 | 0

Résultats attendus : Toutes les lignes doivent être mises à jour pour avoir target_col = -1.

source_col | target_col

----------------------

10 | -1

0 | -1.

Résolution

Ce problème est résolu dans les mises à jour cumulatives suivantes pour SQL Server :

      Mise à jour cumulative 1 pour SQL Server 2017 

      Mise à jour cumulative 5 pour SQL Server 2016 SP1

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 2017

Dernières mises à jour cumulatives pour SQL Server 2016

État

Microsoft a confirmé l'existence de ce problème dans les produits Microsoft figurant dans la liste des produits concernés par cet article.

Références

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

Besoin d’aide ?

Vous voulez plus d’options ?

Explorez les avantages de l’abonnement, parcourez les cours de formation, découvrez comment sécuriser votre appareil, etc.

Les communautés vous permettent de poser des questions et d'y répondre, de donner vos commentaires et de bénéficier de l'avis d'experts aux connaissances approfondies.

Ces informations vous ont-elles été utiles ?

Dans quelle mesure êtes-vous satisfait(e) de la qualité de la langue ?
Qu’est-ce qui a affecté votre expérience ?
En cliquant sur Envoyer, vos commentaires seront utilisés pour améliorer les produits et services de Microsoft. Votre administrateur informatique sera en mesure de collecter ces données. Déclaration de confidentialité.

Nous vous remercions de vos commentaires.

×