Ada beberapa blog yang mengklaim mengkategorikan Transformasi SSIS menjadi pemblokiran (asinkron), non-pemblokiran (sinkron) dan sebagian pemblokiran (asinkron).
Ketika melihat pertanyaan spesifik: Apakah multicast sinkron (non-blocking) atau asynchronous (sebagian memblokir)?
Salah satu sumber mengklaim async: "Multicast adalah transformasi asinkron (juga dikenal sebagai pemblokiran sebagian)" sumber: http://social.technet.microsoft.com/wiki/contents/articles/7392.ssis-multicast-transformation.aspx
dan sinkron lainnya: https://jorgklein.com/2009/04/14/ssis-lookup-is-case-sensitive/
Sumber daya lain mengklaim transformasi DQS Cleansing adalah transformasi non-blocking, tetapi bagi saya tampaknya sebagian memblokir.
Harap jangan menjawab dengan tautan ke daftar transformasi yang dikategorikan berdasarkan jenis. Jawaban untuk pertanyaan ini diharapkan akan memungkinkan metode yang lebih keras untuk MEMBUKTIKAN jawaban yang benar.
Karena transformasi pemblokiran dan pemblokiran sebagian akan memindahkan data ke buffer baru sebagai lawan dari non-pemblokiran yang beroperasi pada buffer di tempat, saya menduga bahwa solusinya adalah menonton pembuatan buffer selama eksekusi transformasi, tetapi saya tidak yakin (a ) jika ini akan menghasilkan jawaban yang pasti dan (b) bagaimana melakukan ini.
Saya percaya bahwa transformasi non-pemblokiran tidak akan menyebabkan pohon eksekusi baru dimulai, jadi ada kemungkinan bahwa jawabannya terletak pada pencatatan PipelineExectionTrees dan PipelineExecutionPlan. Ini mungkin membedakan antara sinkron dan asinkron, tetapi mungkin tidak membedakan antara sebagian memblokir dan sepenuhnya memblokir.