Comment diagnostiquer les packages SSIS en se verrouillant les uns les autres?

J'ai plusieurs packages SSIS faisant quelques requêtes et insérant les résultats dans de nouvelles tables. Ces packages SSIS sont déclenchés avec des valeurs de parameters différentes par les files d'attente du service broker, avec un maximum de 10 opérations simultanées. (ex: deux packages, chacun étant appelé 5 fois avec 5 valeurs différentes d'un paramètre)

Lorsqu'ils sont utilisés séparément, ils ne prennent que quelques secondes, mais lorsqu'ils sont appelés par le courtier de services, après quelques-uns courus avec succès, ils commencent à ralentir, puis totalement bloqués.

Il n'y a pas de lectures et d'insertions simultanées, les packages sont tous lus à partir des mêmes tables (avec des nolocks partout) mais insèrent ensuite de nouveldatatables dans les nouvelles tables créées par les packages. Chaque package écrit dans sa propre table de destination sur laquelle aucun autre package n'essaierait de lire ou d'écrire.

Que devrais-je envisager de modifier dans SSIS ou d'étudier dans SSMS et / ou profiler pour diagnostiquer et résoudre ce problème? Je ne suis pas vraiment habitué à traquer les verrous …

Merci d'avance,

  1. Je reorderais d'utiliser sp_whoisactive pour être sûr que rien ne bloque.
  2. Je recommand également de surveiller les ressources (IO, réseau, RAM) sur le (s) server (s) cible / destination / ETL
  3. Essayez d'exécuter différents scénarios tels que 2 packages et 2 opérations simultanées etc.