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

Dans Microsoft SQL Server 2016 ou SQL Server 2017 sur Windows, vous pouvez rencontrer une baisse des performances dans les conditions suivantes :

  • Lorsque vous exécutez plusieurs opérations INSERTSELECT simultanées dans des tables temporaires.

  • Lorsque vous interrogez sys.dm_os_waiting_tasks. Dans ce cas, la colonne resource_description affiche les attentes sur les pages PFS (Espace libre de page) pour plusieurs demandes.

Cause

Le parallélisme INSERT pour les opérations INSERTSELECT a été introduit dans SQL Server 2016 ou SQL Server 2017 sur Windows. Les INSERT dans les tables temporaires locales (uniquement celles identifiées par le préfixe # et non les tables temporaires globales identifiées par des préfixes ##) sont désormais automatiquement activées pour le parallélisme sans avoir à désigner l’indicateur TABLOCK requis par les tables non temporaires. 

Bien que le parallélisme INSERT améliore généralement les performances des requêtes, s’il existe un nombre important d’opérations INSERTSELECT de table temporaire simultanées, la contention peut être importante sur les pages PFS. Dans certains cas, cela peut entraîner une diminution globale des performances.

Résolution

Le problème est résolu pour la première fois dans SQL Server Service Pack 1 2016. Après avoir appliqué SQL Server 2016 SP1, parallel INSERTs in INSERT.. SELECT sur les tables temporaires locales est désactivé par défaut, ce qui réduit la contention sur la page PFS et améliore les performances globales de la charge de travail simultanée. Si des INSERT parallèles à des tables temporaires locales sont souhaitées, les utilisateurs doivent utiliser l’indicateur TABLOCK lors de l’insertion dans une table temporaire locale.

Si vous avez activé l’indicateur de trace 9495 mentionné dans la section solution de contournement, il est recommandé de désactiver et de supprimer l’indicateur de trace après avoir appliqué SQL Server 2016 SP1, car l’indicateur de trace 9495 désactive l’insertion parallèle, quel que soit l’indicateur TABLOCK.

Informations sur les mises à jour cumulatives

Ce problème a été résolu dans la mise à jour cumulative suivante pour SQL Server 2016 :

À propos des mises à jour cumulatives pour SQL Server

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.

×