CORRIGER : Ralentissement des performances lorsqu'un déclencheur AFTER est exécuté sur une table partitionnée dans SQL Server 2008 R2 ou SQL Server 2012

Traductions disponibles Traductions disponibles
Numéro d'article: 2606883 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Sommaire

Symptômes

Examinons les scénarios suivants :
  • Vous créez des partitions d'une table dans 2008 R2 Microsoft SQL Server ou Microsoft SQL Server 2012.
  • Vous créez un APRÈS déclencheur pour tout INSÉRER ou SUPPRIMER opération est effectuée sur la table.
  • Vous effectuez une INSÉRER ou SUPPRIMER opération sur la table.

Dans ce scénario, baisse des performances peuvent se produire. En outre, de nombreuses lectures logiques peuvent se produire si vous exécutez le Générateur de profils SQL.

Cause

Ce problème se produit pour les raisons suivantes :
  • Le moteur de stockage conserve en interne une chaîne de version unique pour chaque instruction.
  • L'exécution de la requête recherche les partitions de la chaîne de version complet pour rechercher les lignes qui sont insérées pour l'une des partitions.

Résolution

Pour résoudre ce problème, appliquez le correctif suivant, puis utilisez l'indicateur de trace-T2470

Informations de mise à jour cumulative

SQL Server 2012 Le correctif de ce problème a été tout d'abord publié de mise à jour Cumulative 1 pour SQL Server 2012. Pour plus d'informations sur ce package de mise à jour cumulative, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
2679368 Package de mise à jour cumulative 1 pour SQL Server 2012
Remarque : Les versions étant cumulatives, chaque nouvelle version de correctif contient tous les correctifs et correctifs de sécurité inclus avec la précédente 2012 de SQL Server version du correctif. Microsoft vous recommande d'envisager l'application la plus récente version du correctif qui comprendra ce correctif. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
2692828 Le 2012 SQL Server versions publiées après la publication de SQL Server 2012
Vous devez appliquer un correctif SQL Server 2012 pour une installation de SQL Server 2012.

SQL Server 2008 R2 Service Pack 1

Informations de mise à jour cumulative

Le correctif de ce problème a été tout d'abord publié dans mise à jour Cumulative 3 pour SQL Server 2008 R2 Service Pack 1. Pour plus d'informations sur la façon d'obtenir ce package de mise à jour cumulative, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
2591748 Package de mise à jour cumulative 3 pour SQL Server 2008 R2 Service Pack 1
Remarque : Les versions étant cumulatives, chaque nouvelle version de correctif contient tous les correctifs et correctifs de sécurité inclus avec la précédente 2008 R2 SQL Server version du correctif. Nous vous recommandons l'application la plus récente version du correctif qui comprendra ce correctif. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
2567616 SQL Server 2008 R2 versions publiées après la publication de SQL Server 2008 R2 Service Pack 1

Informations sur le correctif

Un correctif pris en charge est disponible auprès de Microsoft. Toutefois, ce correctif est conçu uniquement pour corriger le problème décrit dans cet article. Appliquer ce correctif uniquement aux systèmes rencontrant ce problème spécifique.

Si le correctif est disponible pour téléchargement, il existe une section « Téléchargement de correctif logiciel disponible » en haut de cet article de la Base de connaissances. Si cette section n'apparaît pas, soumettez une demande à Microsoft Services de Support technique pour obtenir le correctif.

Remarque : Si des problèmes supplémentaires surviennent ou bien si une procédures de dépannage est requise, il est probable que vous ayez à effectuer une demande de service en parallèle. Les coûts habituels du support technique s'appliqueront aux autres questions et problèmes qui ne relèvent pas de ce correctif spécifique. Pour une liste complète des numéros de téléphone Service clientèle de Microsoft et prise en charge ou pour créer une demande de service distincte, visitez le site Web Microsoft suivant :
http://support.Microsoft.com/contactus/?ws=support
Remarque : Le formulaire « Téléchargement de correctif logiciel disponible » affiche les langues pour lesquelles le correctif est disponible. Si vous ne voyez pas votre langue, il est, car un correctif logiciel n'est pas disponible pour cette langue.

Conditions préalables

Pour appliquer ce correctif, vous devez avoir Microsoft SQL Server 2008 R2 Service Pack 1 (SP1) installé.

Redémarrage de l'ordinateur

Vous n'avez pas à redémarrer l'ordinateur après avoir appliqué ce correctif.

Informations de remplacement du correctif

Ce correctif ne remplace pas un correctif publié précédemment.

Informations sur les fichiers

La version internationale de ce possède les attributs de fichier (ou attributs de fichier version ultérieure) répertoriés dans le tableau suivant. Les dates et heures de ces fichiers sont classées par rapport temps universel coordonné (UTC). Les informations du fichier sont converties en heure locale. Pour connaître la différence entre l'UTC et l'heure locale, utilisez la Fuseau horaire onglet dans la Date et heure élément dans le panneau de configuration.

Pour toutes les prises en charge x 86 exécutant des versions de SQL Server 2008 R2 SP1
Réduire ce tableauAgrandir ce tableau
Nom de fichierVersion du fichierTaille du fichierDateHeurePlate-forme
Sqlservr.exe2009.100.2776.043,053,92015-Sep-201101 : 47x 86

Pour toutes les prises en charge x 64 en versions deSQL Server 2008 R2 SP1

Réduire ce tableauAgrandir ce tableau
Nom de fichierVersion du fichierTaille du fichierDateHeurePlate-forme
Sqlservr.exe2009.100.2776.062,176,60815-Sep-201100 : 57x 64

Toutes prises en charge les versionsbasés sur IA-64 deSQL Server 2008 R2 SP1

Réduire ce tableauAgrandir ce tableau
Nom de fichierVersion du fichierTaille du fichierDateHeurePlate-forme
Sqlservr.exe2009.100.2776.0122,105,69615-Sep-201100 : 23IA-64


Contournement

Pour contourner ce problème, modifiez le déclencheur AFTER à un déclencheur INSTEAD OF INSERT ou à un déclencheur INSTEAD OF DELETE .

Par exemple, vous exécutez les instructions suivantes pour créer un déclencheur AFTER :
CREATE TRIGGER TR_Test ON Test FOR INSERT AS BEGIN DECLARE @groupe INT SELECT TOP 1 @groupe=Groupe FROM INSERTED END GO
Dans ce scénario, modifiez le déclencheur AFTER pour INSTEAD OF INSERT en utilisant les instructions suivantes :
CREATE TRIGGER TR_Test ON Test INSTEAD OF INSERT AS BEGIN DECLARE @groupe INT SELECT TOP 1 @groupe=Groupe FROM INSERTED INSERT INTO Test (Groupe) SELECT @groupe FROM INSERTED END

Statut

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

Propriétés

Numéro d'article: 2606883 - Dernière mise à jour: lundi 16 avril 2012 - Version: 3.0
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2012 Developer
Mots-clés : 
kbqfe kbhotfixserver kbfix kbexpertiseadvanced kbsurveynew kbautohotfix kbmt KB2606883 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 2606883
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com