SSIS中的ReadUncommitted IsolationLevel是Microsoft针对以下内容确认的错误,但“不会修复”如下所述。
同样的解决方法是什么?
答案 0 :(得分:2)
是的,但您必须在源代码上通知sql命令,而不是选择一个表并在执行之前设置隔离级别:
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
select * from test_isolation
并且包应该选择可序列化的隔离级别(我认为错误可能是在组件上选择读取uncommited的事实)
请参阅此示例。我有一个包来复制表test_isolation
到表test_isolation_destination
这里我的桌子都是空的:
然后我启动了一个事务并运行了下面的插入命令以在test_isolation
此行是脏行,因为事务尚未提交。
然后,我运行了包,你可以看到复制了一行:
然后,我回滚了事务,你可以看到该行已从源表中清除,但未从目标表中清除。
这证明包运行时具有读取未提交的隔离级别
答案 1 :(得分:0)
使用SQL Server Native Client Provider(如果是MS-SQL中的目标平台)并设置隔离级别以查看它是否有效?