我过去曾遇到过这种情况,答案是否定的,在源SQL中使用ORDER
BY排序并不总是与在Dataflow任务中使用排序转换产生相同的结果。某些特殊(非字母数字)字符(可能为NULLS)的处理方式有所不同。我不记得确切。我不记得找到任何有关此的文档(这是几年前的事),但是我通过自己的测试证实了这一点。
我的结论是,要在数据流中进行JOIN,请确保对JOIN的两面都使用相同的排序方法。
至于第二个问题,SSIS在数据源上具有IsSorted属性。如果将DataSource上的IsSorted属性设置为true,那么如果尝试执行“排序转换”,则它所知道的只是IsSorted为true,并且会发出不需要排序的警告。它不知道是否需要“排序转换”以匹配使用排序转换的另一个源。
如果要在JOIN的两侧使用“排序转换”,请将源的IsSorted属性设置为false。



