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
トランザクションがまだコミットされていないため、この行はダーティ行です。
次に、パッケージを実行すると、ご覧のとおり、1 行がコピーされました。
次に、トランザクションをロールバックしました。ご覧のとおり、行はソース テーブルから消去されましたが、宛先テーブルからは消去されませんでした。
これは、パッケージがコミットされていない読み取り分離レベルで実行されたことを証明します
SQL Server Native Client Provider(MS-SQLのターゲットプラットフォームの場合)を使用し、分離レベルを設定して、それが機能するかどうかを確認しますか?