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

Supposez que vous avez appliqué Microsoft SQL Server 2012 Service Pack 2 (SP2) sur votre ordinateur. Vous appelez le cdc.fn_cdc_get_net_changes_<capture_instance> la requête de capture de données de modification (CDC) dans la procédure stockée sp_executesql et il est possible qu’elle provient d’une source d’application telle que SQL Server Management Studio Server (SSMS), CDC lui-même ou les packages SQL Server Integration Services (SSIS). Dans ce cas, vous subissez des performances médiocres dans SQL Server 2012.RemarqueLa baisse des performances peut être importante. Par exemple, une requête peut se terminer dans quelques secondes dans SQL Server 2012 SP1. Toutefois, la même requête peut prendre plusieurs heures pour s’exécuter dans SQL Server 2012 SP2. Par ailleurs, la mise à jour des statistiques ne permet pas de résoudre le problème.

Cause

Ce problème survient en raison d’un problème d’estimation de cardinalité affectant sérieusement les performances de l' cdc.fn_cdc_get_net_changes_<capture_instance> requête.

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

Solution de contournement

Pour contourner ce problème, utilisez l’indicateur de requête option (RECOMPILE) dans votre requête. Dans le cas où la requête est déclenchée à partir de composants CDC de SSIS, l' option (RECOMPILE) peut être forcée en créant un repère de plan comme dans l’exemple suivant :Exec sp_create_plan_guide @name = N'CDC_Query1_PlanGuide', @stmt = N'select [__$start_lsn],[__$operation],[__$update_mask],[Column1],[Column2],[Column3] from [cdc].[fn_cdc_get_net_changes_dbo_Table1](CONVERT(binary(10), @cs, 1), CONVERT(binary(10), @ce, 1), @mode)',@type = N'SQL',@module_or_batch = NULL, @params = N'@ce nvarchar(22),@mode nvarchar(14),@cs nvarchar(22)', @hints = N'OPTION (RECOMPILE)'; RemarqueVous devez remplacer l’exemple de requête par la requête avec laquelle vous rencontrez un problème. Vous pouvez le faire à partir de la trace du Générateur de profils , afin qu’aucun caractère supplémentaire ne soit ajouté par erreur. De plus, assurez-vous que la requête sélection est placée sur une seule ligne (par exemple, elle ne doit pas avoir de retour chariot ou de saut de ligne) pour permettre au Guide de plan de fonctionner correctement. Vous pouvez également avoir besoin d’utiliser DBCC FREEPROCCACHE pour masquer l’ancien plan dans le cache.

Statut

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

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.

×