SSISパッケージでトランザクションを作成する際の問題


12

トランザクションを使用する必要があるパッケージで作業していますが、現在次のエラーが発生しています:

SSIS package "CATS-Package.dtsx" starting.
Information: 0x4004300A at Data Flow Task, SSIS.Pipeline: Validation phase is beginning.
Information: 0x4001100A at CATS-Package: Starting distributed transaction for this container.
Error: 0xC001401A at CATS-Package: The SSIS Runtime has failed to start the distributed transaction due to error 0x8004D01B "The Transaction Manager is not available.". The DTC transaction failed to start. This could occur because the MSDTC Service is not running.
SSIS package "CATS-Package.dtsx" finished: Failure.

これまでに私が知っていることは次のとおりです。

  • 2012パッケージ
  • パッケージ展開で実行しています
  • TransactionOptionプロパティはRequiredに設定されます
  • 2008 R2インスタンスに対して実行する
  • インスタンスで手動で分散トランザクションを作成し、MSDTCが実行されているイベントビューアーに従って作成できます。
  • MSDTCには次の設定があります

ここに画像の説明を入力してください

誰もが追加情報を見つける方向を指し示すことができます。

編集:パッケージを実行しているローカルマシンとインスタンスを保持しているサーバーでDTCを実行するように言ったステップの1つ。一度それをやると、新しいエラーが出ました:

Information: 0x4001100A at CATS-Package: Starting distributed transaction for this container.
Error: 0xC001402C at CATS-Package, Connection manager "connectionName": The SSIS Runtime has failed to enlist the OLE DB connection in a distributed transaction with error 0x8004D024 "The transaction manager has disabled its support for remote/network transactions.".
Error: 0xC0202009 at CATS-Package, Connection manager "connectionName": SSIS Error Code DTS_E_OLEDBERROR.  An OLE DB error has occurred. Error code: 0x8004D024.
Error: 0xC00291EC at Execute SQL Task - Max Product ID, Execute SQL Task: Failed to acquire connection "connectionName". Connection may not be configured correctly or you may not have the right permissions on this connection.

重要な部分The transaction manager has disabled its support for remote/network transactions. は許可に何か不足していますか?注:Allow Remote Clientsもチェックされています。

MSDTCのpingが言及されているのを確認しました(以下のコメントを含む)が、それを見たとき、どうすればよいかよくわかりません。


1
DTCおよびSSISのトラブルシューティング手順を実際に示す詳細情報を見つけました:richardlees.blogspot.com/2010/01/…

1
SSISパッケージでトランザクションを設定するためにどのような方法を使用していますか?
ゼーン

1
MSDTCから任意のエラーのアプリケーションイベントログを確認し、MSDTCのpingを取得support.microsoft.com/en-us/kb/918331
Spörri

@Spörriクライアントまたはサーバーのイベントログに何も表示されませんでした。私はMSDTCを見ましたが、それは(一見すると)私の頭の上に見えます。
ケネスフィッシャー

1
@KennethFisher Powershellテストでサーバー名を意味しましたが、情報が返ってきたらRPCが開いています。
ボブクライムズ

回答:


10

問題を解決しました。宛先と同様にソースマシンでもDTCを起動する必要があることをいくつかの場所で読みました。したがって、私の場所では、ワークステーションとインスタンスが置かれているサーバーが同じです。

MSDTCを有効にすると、新しいエラーが表示されました。

Information: 0x4001100A at CATS-Package: Starting distributed transaction for this container.
Error: 0xC001402C at CATS-Package, Connection manager "connectionName": The SSIS Runtime has failed to enlist the OLE DB connection in a distributed transaction with error 0x8004D024 "The transaction manager has disabled its support for remote/network transactions.".
Error: 0xC0202009 at CATS-Package, Connection manager "connectionName": SSIS Error Code DTS_E_OLEDBERROR.  An OLE DB error has occurred. Error code: 0x8004D024.
Error: 0xC00291EC at Execute SQL Task - Max Product ID, Execute SQL Task: Failed to acquire connection "connectionName". Connection may not be configured correctly or you may not have the right permissions on this connection.

重要な部分は The transaction manager has disabled its support for remote/network transactions.

ネットワークDTCアクセス、リモート接続を許可、出力接続を許可するように設定すると、すべてがスムーズに機能しました。

ここに画像の説明を入力してください

これがローカル接続に必要な最小限の権限であるかどうかはわかりませんが、そうであるようです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.