Есть несколько блогов, которые утверждают, что классифицируют SSIS Преобразования в блокирующие (асинхронные), неблокирующие (синхронные) и частично блокирующие (асинхронные).
При рассмотрении конкретного вопроса: многоадресная передача является синхронной (неблокирующей) или асинхронной (частично блокирующей)?
Один из источников заявляет об асинхронности: «Многоадресная передача - это асинхронное (также известное как частичное блокирование) преобразование» источник: 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 Cleansing является неблокирующим преобразованием, но мне кажется , что оно частично блокирует.
Пожалуйста, не отвечайте со ссылкой на список преобразований, классифицированных по типу. Надеемся, что ответ на этот вопрос позволит более строгому методу доказать правильный ответ.
Поскольку преобразования с частичной блокировкой и блокированием будут перемещать данные в новые буферы, в отличие от неблокирующих операций, которые работают с буфером на месте, я подозреваю, что решение будет заключаться в наблюдении за созданием буфера во время выполнения преобразования, но я не уверен ( ) если это даст окончательный ответ и (б) как это сделать.
Я считаю, что неблокирующее преобразование не вызовет начало нового дерева выполнения, поэтому возможно, что ответ заключается в регистрации в PipelineExectionTrees и PipelineExecutionPlan. Это может различать синхронный и асинхронный, но не может различать частичную блокировку и полную блокировку.