Es gibt mehrere Blogs, die behaupten, SSIS-Transformationen in blockierende (asynchrone), nicht blockierende (synchrone) und teilweise blockierende (asynchrone) zu kategorisieren.
Bei der Untersuchung der spezifischen Frage: Ist Multicast synchron (nicht blockierend) oder asynchron (teilweise blockierend)?
Eine Ressource behauptet asynchron: "Der Multicast ist eine asynchrone (auch als teilweise blockierende) Transformation bekannte) Quelle: http://social.technet.microsoft.com/wiki/contents/articles/7392.ssis-multicast-transformation.aspx
und eine weitere syncrone: https://jorgklein.com/2009/04/14/ssis-lookup-is-case-sensitive/
Andere Quellen behaupten, dass die DQS-Bereinigungstransformation eine nicht blockierende Transformation ist, aber sie scheint mir teilweise blockierend zu sein.
Bitte antworten Sie nicht mit einem Link zu einer Liste von Transformationen, die nach Typ kategorisiert sind. Die Antwort auf diese Frage wird hoffentlich eine strengere Methode ermöglichen, um eine korrekte Antwort zu liefern.
Da die teilweise blockierenden und blockierenden Transformationen Daten in neue Puffer verschieben, im Gegensatz zu den nicht blockierenden, die den vorhandenen Puffer bearbeiten, gehe ich davon aus, dass die Lösung darin besteht, die Puffererstellung während der Transformationsausführung zu überwachen, bin mir jedoch unsicher (a ) ob dies die endgültige Antwort ergibt und (b) wie dies zu tun ist.
Ich glaube, dass eine nicht blockierende Transformation nicht dazu führt, dass ein neuer Ausführungsbaum beginnt. Daher liegt die Antwort möglicherweise in der Protokollierung der PipelineExectionTrees und PipelineExecutionPlan. Dies kann zwischen synchron und asynchron unterscheiden, kann jedoch nicht zwischen teilweisem und vollständigem Blockieren unterscheiden.