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

ここに画像の説明を入力

トランザクションがまだコミットされていないため、この行はダーティ行です。

次に、パッケージを実行すると、ご覧のとおり、1 行がコピーされました。

ここに画像の説明を入力

次に、トランザクションをロールバックしました。ご覧のとおり、行はソース テーブルから消去されましたが、宛先テーブルからは消去されませんでした。

ここに画像の説明を入力

これは、パッケージがコミットされていない読み取り分離レベルで実行されたことを証明します

于 2012-04-27T15:52:29.323 に答える
0

SQL Server Native Client Provider(MS-SQLのターゲットプラットフォームの場合)を使用し、分離レベルを設定して、それが機能するかどうかを確認しますか?

于 2012-04-24T13:34:59.117 に答える