SSIS 中的 ReadUncomfilled IsolationLevel 是 Microsoft 承认的一个错误,但“不会修复”,如下所述。
http://connect.microsoft.com/SQLServer/feedback/details/498891/ssis-setting-isolationlevel-to-readuncomfilled-still-uses-read-commissed#details http://connect.microsoft.com/SQLServer/feedback/details/498891/ssis-setting-isolationlevel-to-readuncommitted-still-uses-read-committed#details
相同的解决方法是什么?
是的,但是您必须在执行之前通知源上的 sql 命令,而不是选择表并设置隔离级别:
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
select * from test_isolation
并且包应该选择可序列化的隔离级别(我认为该错误可能是由于在组件上选择了未提交的读取)
请参阅此示例。我有一个包可以从表中复制值test_isolation
到餐桌test_isolation_destination
我的两张桌子都是空的:
然后我开始一个事务并运行下面的插入命令来插入一行test_isolation
该行是脏行,因为事务尚未提交。
然后,我运行了该包,如您所见,复制了一行:
然后,我回滚事务,正如您所看到的,该行已从源表中清除,但没有从目标表中清除。
这证明包以读取未提交的隔离级别运行
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)