为什么SSIS中的行采样转换是阻塞的?

为什么SSIS中的行采样转换是阻塞的?,ssis,Ssis,根据Microsoft培训工具包70-463和大多数在线来源,SSIS中的行采样是一种阻塞转换。为什么它会阻塞?如果只是随机选择固定数量的行,那么似乎没有必要阻止整个数据集。这尤其奇怪,因为百分比采样是非阻塞的。有人能解释这种行为吗?或者证明它没有阻塞的证据,如?百分比样本转换对每个缓冲区的百分比相同。它预先知道从每个缓冲区中提取多少行(基于缓冲区的大小),因此它可以立即处理缓冲区并让它沿着管道飞行。 另一方面,行样本转换并不预先知道它需要从每个缓冲区中获得多少行,因为它不知道它正在等待多少缓冲

根据Microsoft培训工具包70-463和大多数在线来源,SSIS中的行采样是一种阻塞转换。为什么它会阻塞?如果只是随机选择固定数量的行,那么似乎没有必要阻止整个数据集。这尤其奇怪,因为百分比采样是非阻塞的。有人能解释这种行为吗?或者证明它没有阻塞的证据,如?

百分比样本转换对每个缓冲区的百分比相同。它预先知道从每个缓冲区中提取多少行(基于缓冲区的大小),因此它可以立即处理缓冲区并让它沿着管道飞行。 另一方面,行样本转换并不预先知道它需要从每个缓冲区中获得多少行,因为它不知道它正在等待多少缓冲区。因此,此转换必须等待,计算所有缓冲区,然后计算每个缓冲区的行数,然后处理所有这些缓冲区。 证明(基于SSIS日志记录):