2

SSIS 中的 ReadUncommitted IsolationLevel 是 Microsoft 承认的以下错误,但“不会修复”,如下所述。

http://connect.microsoft.com/SQLServer/feedback/details/498891/ssis-setting-isolationlevel-to-readuncommitted-still-uses-read-committed#details

相同的解决方法是什么?

4

2 回答 2

2

是的,但是您必须通知源上的 sql 命令,而不是选择表并在执行前设置隔离级别:

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
select * from test_isolation

并且包应该选择可序列化的隔离级别(我认为错误可能是在组件上选择未提交的读取)

请参阅此示例。我有一个包可以将值从表复制test_isolation到表test_isolation_destination

这是我的两个表都是空的:

在此处输入图像描述

然后我开始了一个事务并运行下面的插入命令来插入一行test_isolation

在此处输入图像描述

该行是脏行,因为该事务尚未提交。

然后,我运行了这个包,你可以看到复制了一行:

在此处输入图像描述

然后,我回滚了事务,如您所见,该行已从源表中清除,但未从目标表中清除。

在此处输入图像描述

这证明包以未提交的读取隔离级别运行

于 2012-04-27T15:52:29.323 回答
0

使用 SQL Server Native Client Provider(如果您的目标平台是 MS-SQL)并设置隔离级别以查看它是否有效?

于 2012-04-24T13:34:59.117 回答