Існує кілька блогів, які заявляють про категоризацію SSIS-перетворень на блокуючі (асинхронні), неблокуючі (синхронні) та частково блокуючі (асинхронні).
Дивлячись на конкретне запитання: чи є багатоадресна синхронність (не блокує) чи асинхронна (частково блокує)?
Один із ресурсів стверджує, що async: "Multicast - це асинхронна (також відома як частково блокуюча) трансформація" Джерело: http://social.technet.microsoft.com/wiki/contents/articles/7392.ssis-multicast-transformation.aspx
та інший синхронний: https://jorgklein.com/2009/04/14/ssis-lookup-is-case-sensitive/
Інші ресурси стверджують, що трансформація очищення DQS - це не блокуюча трансформація, але мені здається , що вона частково блокує.
Будь ласка, не відповідайте за допомогою посилання на список перетворень, класифікованих за типом. Сподіваємось, відповідь на це питання дасть змогу більш жорстким методом довести правильну відповідь.
Оскільки частково блокуючі та блокуючі перетворення переміщуватимуть дані в нові буфери, на відміну від неблокуючих, які працюють на буфері на місці, я підозрюю, що рішенням буде спостереження за створенням буфера під час виконання перетворення, але я не впевнений (a ) якщо це дасть остаточну відповідь і (b) як це зробити.
Я вважаю, що неблокуюча трансформація не спричинить запуск нового дерева виконання, тому можливо, що відповідь лежить у реєстрації PipelineExectionTrees та PipelineExecutionPlan. Це може відрізняти між синхронним та асинхронним, але не може відрізняти частково блокування та повністю блокування.