2011-09-12 19 views
1

SQL Serverデータベースから別のデータベースにデータを移動するSSISパッケージを実装しました。このパッケージには、異なるテーブルで同時にデータをコピーする一連のデータフロータスクがあります。各データフロータスクには、OLE DBデータソースとSQL Server宛先が含まれています。SSIS:データの同時移動中のトランザクション

トランザクションが実装されるまでパッケージは正常に機能しました。 SSISは複数の同時プロセスでトランザクションを処理できないため、パッケージレベルでTransactionOptionSupportedを設定することはできません。だから、私はこの方法を使うことにした: http://consultingblogs.emc.com/jamiethomson/archive/2005/08/20/SSIS-Nugget_3A00_-RetainSameConnection-property-of-the-OLE-DB-Connection-Manager.aspx しかし、今私は別の問題がある。 「Unable to bulk copy data. You may need to run this package as an administrator」というエラーがあります。これらのエラーはランダムな場所で発生します。たとえば、最初にパッケージを実行した場合、「タスクA」という名前のデータフロータスクは正しく実行できますが、2回目にパッケージを実行するとエラーがスローされます。

私の場合はどのようにトランザクションを実装できますか? (データフロータスクの実行を順次実行するためのパッケージの変更はオプションではありません)

+0

なぜこのためのトランザクションが必要ですか? – JNK

+0

アトミック操作のようなすべてのデータフロータスクを実行する必要があるためです。エラーが発生した場合、私のデータの一部だけを更新したくありません。 – Egor4eg

+0

両方のデータベースが同じSQL Serverインスタンスにありますか? –

答えて

2

MS SQL Server 2008 R2とSSISで最近エラーが発生しました。エラーが見つかりました:

[SQL Server Destination [16]] Error: Unable to bulk copy data. You may need to run this package as an administrator. [SSIS.Pipeline] Error: component "SQL Server Destination" (16) failed the pre-execute phase and returned error code 0xC0202071.

ですが、Adminとして実行しても解決できませんでした。エラーは1つのステップでのみ発生し、SQL Serverの宛先のタイムアウトを増やしたときにエラーを取り除くことができました。面白いのは、外部のADO NET Sourceを読むとタイムアウトが問題になるのを助けた適切なエラーが出るということです。

関連する問題