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