KB2735763 - CORRECTIF : L’exécution d’un package se termine de manière inattendue et l’état est « Annulé » lorsque vous exécutez plusieurs packages SSIS 2012 en parallèle

S’applique à
SQL Server 2012 Enterprise

Microsoft distribue les correctifs Microsoft SQL Server 2012 sous la forme d’un fichier téléchargeable. Étant donné que les correctifs sont cumulatifs, chaque nouvelle version contient tous les correctifs logiciels et tous les correctifs de sécurité inclus dans la version précédente du correctif SQL Server 2012.

Symptômes

Supposons que vous utilisez l’agent SQL Server pour exécuter plusieurs packages SQL Server 2012 Integration Services (SSIS 2012) en parallèle. En outre, l’événement SSIS est configuré pour être enregistré dans les tables SSISDB ou MSDB. Dans ce cas, l’exécution d’un package SSIS se termine de manière inattendue et a le statut « Annulé ». Lorsque cela se produit, aucun message d’erreur n’est enregistré. Par exemple, une longue exécution d’un package SSIS d’une durée de 2 à 3 heures se termine de manière inattendue, a le statut « Annulé » et ne comporte aucun message d’erreur enregistré.

Remarque

  • Le résultat attendu est que l’exécution du package doit réussir ou échouer avec certaines erreurs. En outre, le statut « Annulé » ne doit apparaître que pour les exécutions de packages qui sont explicitement arrêtées.
  • Ce problème est plus susceptible de se produire lorsque l’instance du moteur de base de données SQL Server dans laquelle les événements SSIS sont enregistrés est dans des conditions de stress. Les conditions stressantes peuvent inclure le blocage, le ralentissement des performances ou les retards causés par la croissance de la base de données SSISDB.

Cause

Le problème se produit parce que la journalisation des événements a expiré. Cela provoque l’annulation prématurée de l’exécution du package SSIS.

Lorsqu’un événement SSIS est configuré pour être journalisé dans les tables SSISDB ou MSDB, une commande Insert écrit l’événement de journal et les statistiques de performances dans ces tables en interne. Lorsqu’il existe de nombreuses exécutions parallèles de packages SSIS, de nombreuses commandes d’insertion parallèles sont exécutées. Par conséquent, l’erreur de délai d’attente est plus susceptible de se produire et de provoquer le problème décrit dans la section « Symptômes ».

Résolution

Une fois le correctif appliqué, le délai d’attente de la commande Insert passe de 30 secondes à 120 secondes. En outre, si le délai d’attente se produit après un délai de 120 secondes, l’exécution du package SSIS ne sera pas annulée. Au lieu de cela, les événements de journal en suspens sont ignorés afin d’éviter l’échec du package.

Informations sur les mises à jour cumulatives

Package de mise à jour cumulative 3 pour SQL Server 2012

Le correctif pour résoudre ce problème a été publié pour la première fois dans la mise à jour cumulative 3. Pour plus d’informations sur la procédure d’obtention de ce package de mise à jour cumulative pour SQL Server 2012, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft.

2723749 Mise à jour cumulative 3 pour SQL Server 2012Remarque Comme les builds sont cumulatives, chaque nouvelle version de correctif contient tous les correctifs logiciels et tous les correctifs de sécurité inclus dans la version précédente du correctif SQL Server 2012. Nous vous recommandons d’envisager d’appliquer la version la plus récente du correctif qui contient 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 Builds SQL Server 2012 publiées après SQL Server 2012

État

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

Solution de contournement

Pour contourner ce problème, appliquez l’une des méthodes suivantes :

  • Essayez d’exécuter moins de packages SSIS ou moins de tâches en parallèle.
  • Essayez de diminuer le paramètre de niveau de journalisation lorsque vous exécutez un package à partir de Management Studio ou d’un travail SQL Server Agent. Par exemple, si vous utilisez la journalisation détaillée, vous pouvez définir le paramètre Niveau de journalisation sur Simple ou Aucun. Si vous utilisez les paramètres de journalisation des paramètres du package SSIS dans le concepteur SQL Server Data Tools, vous pouvez enregistrer les événements dans un fichier texte plutôt que dans les tables de base de données SSISDB ou MSDB.