From last couple of months my packages consuming more time to complete
as a scheduled job. In all my ssis packages i am truncating the data in sql
server then Bulk inserting data in those tables
Je suppose que sur une période de temps, la quantité de données que vous besoin de mettre en vrac va continuer à croître avec cette conception ? Cela pourrait expliquer pourquoi le travail pourrait devenir progressivement plus lent.
Even I have lot of non clustered indexes on those tables. Do I need to drop all
indexes on those tables before executing bulk insert SSIS packages and once the
package is succeeded I have to create Non clustered indexes so that the
performance and time consuming constraint of the packages can be solved
Les index ralentiront définitivement l'insertion des données. Cependant, il peut s'agir de bien plus que de vos index non clusterisés. En fonction des valeurs des colonnes utilisées pour constituer l'index clusterisé, c'est-à-dire la clé primaire, il se peut que l'index clusterisé ralentisse les insertions. Cela peut dépendre de l'ordre des données que vous insérez et pourrait être quelque chose qui pourrait être contrôlé.
Comme vous l'avez déjà souligné, vous pouvez essayer de supprimer et de recréer les index post-insertion. Cependant, vous devez prendre en compte le temps nécessaire pour recréer les index et voir si ce temps supplémentaire entraîne une amélioration des performances suffisante pour vous.
En général, je vous suggère de noter d'abord le temps nécessaire à chaque étape de votre DTS pour déterminer précisément quelle étape est la plus lente, puis décider comment il peut être amélioré. À l'heure actuelle, sans données, vous photographiez vraiment dans le
1. les données ont été générées à partir du dernier mois mais le même paquet qui prend 6 heures à compléter comme un travail se termine en 2,5 heures dans BIDS lorsque je cours manuellement.Je suis vraiment incapable de comprendre pourquoi une différence si énorme entre les deux courses. –
@Mohammed Mushtaq - Serait-ce à cause du timing? Avez-vous vérifié quelles autres activités/travaux/transactions/traitements se déroulent dans la base de données au moment où ce travail est planifié? Quelque chose d'autre pourrait bloquer la ligne/table en question? Ou il pourrait juste être la charge sur le DB à ce moment-là .. Avez-vous essayé d'exécuter le travail à une autre heure/jour pour voir comment cela se passe? – InSane
Il s'agit d'un serveur nouvellement formaté et aucune grosse tâche ne s'exécute à l'exception de mes paquets. J'ai essayé de courir pendant le jour même problème que j'ai affronté. Comme il fonctionne pendant la nuit, il n'y a pas de point de charge. En effet, les utilisateurs utilisent ce serveur pour les rapports MIS. –