none
SSISパッケージの[TransactionOption]を[Required]にしたら、リモート実行できない RRS feed

  • 質問

  • お世話になります。
    Packageの[TransactionOption]を[Required]にし、
    各Taskの[TransactionOption]を[Supported]にすると、

    SQLタスクで、リモートサーバーに対して、SQLクエリ実行できませんでした。

    一応、MSDTCサービスと設定は
    http://www.logistech.co.jp/techtips/msdtc.html
    ここから参考して、設定完成しています。

    ローカル環境:Windows Vista Ult Edition Sp1 x64
    データベース:SQL Server 2008 Enterprise Edition x64

    リモート環境:Windows Server 2008 DataCenter Edition Sp1 x86
    データベース:SQL Server 2008 Enterprise Edition x86

    両方のファイヤウォールを全部無効にしても、エラーができます。
    "[SQL 実行タスク] エラー : 接続 "XXXX" を取得できませんでした。接続が正しく構成されていないか、この接続に必要な権限が不足している可能性があります。"

    原因は不明です。

    この人のエラーと全く同じですが、
    http://blogs.timberlandchapel.com/forums/p/1566/2296.aspx

    ファイヤフォールを全部切ってもだめでした。

    知恵を貸してください。よろしくお願いいたします。

    2009年4月12日 8:33

すべての返信

  • 楊 佳易さん、こんにちは。中川俊輔です。

    Vista/Server2008では、MSDTCの設定方法がXP/Server2003とは異なっていますが、設定に何か見落としはないでしょうか?
    ネットワーク DTC アクセスを有効にする
    http://technet.microsoft.com/ja-jp/library/cc753510.aspx

    また、リモート環境とローカル環境のそれぞれでDTCの設定がされているかも確認してみてください。
    参考になると幸いです。それでは。


    この投稿は現状のまま何の保証もなく掲載しているものであり、何らかの権利を許諾するものでもありません。
    コミュニティにおけるマイクロソフト社員による発言やコメントは、マイクロソフトの正式な見解またはコメントではありません。
    詳しくは http://www.microsoft.com/japan/communities/msp.mspx をご覧ください。

    マイクロソフト株式会社 フォーラム オペレータ 中川 俊輔
    2009年4月15日 9:34
  • 楊 佳易さん、こんにちは。中川俊輔です。

    Vista/Server2008では、MSDTCの設定方法がXP/Server2003とは異なっていますが、設定に何か見落としはないでしょうか?
    ネットワーク DTC アクセスを有効にする
    http://technet.microsoft.com/ja-jp/library/cc753510.aspx

    また、リモート環境とローカル環境のそれぞれでDTCの設定がされているかも確認してみてください。
    参考になると幸いです。それでは。


    この投稿は現状のまま何の保証もなく掲載しているものであり、何らかの権利を許諾するものでもありません。
    コミュニティにおけるマイクロソフト社員による発言やコメントは、マイクロソフトの正式な見解またはコメントではありません。
    詳しくは http://www.microsoft.com/japan/communities/msp.mspx をご覧ください。

    マイクロソフト株式会社 フォーラム オペレータ 中川 俊輔
    こんばんは。
    もう一回チャレンジしてみます。
    結果をここで報告します。ありがとうございます。
    2009年4月15日 13:48
  • お世話になります。
    何日間をかかっても、解決できませんでした。

    MSDTCを両方(サーバーとクライアント)設定ずみ、
    SQL SSISで「SQL実行タスク」を作成し、リモートのDBサーバーにInsertクエリを発行します。

    パッケージのTransactionOptionをRequiredにします。
    SQL実行タスクのTransactionOptionをSupportedにします。


    SQL実行タスクのOLEDB接続先はリモートのSQLSERVER2008です。

    実行してみると、やはり、以下のエラーが出ています。

    パッケージ Package
    検証を開始しました
    タスク SQL 実行タスク
    検証を開始しました
    検証が完了しました
    開始、18:49:15
    [SQL 実行タスク] エラー : 接続 "WIN2K8SV.TEST.sa" を取得できませんでした。接続が正しく構成されていないか、この接続に必要な権限が不足している可能性があります。
    タスク SQL 実行タスク に失敗しました
    情報: 現在の分散トランザクションを中止しています。
    完了、18:49:15、経過時間: 00:00:00.374
    検証が完了しました
    情報: このコンテナの分散トランザクションを開始しています。
    開始、18:49:15
    [接続マネージャ "WIN2K8SV.TEST.sa"] エラー : エラー 0x8004D00E "トランザクションは既に暗黙的または明示的に、コミットまたは中止されています。" により、SSIS ランタイムは OLE DB 接続を分散トランザクションに参加させることができませんでした。
    [接続マネージャ "WIN2K8SV.TEST.sa"] エラー : SSIS エラー コード DTS_E_OLEDBERROR。OLE DB エラーが発生しました。エラー コード: 0x8004D00E。
    警告: SSIS 警告コード DTS_W_MAXIMUMERRORCOUNTREACHED。Execution メソッドは成功しましたが、発生したエラーの数 (1) が最大許容値 (1) に達したため、処理が失敗しました。これは、エラーの数が MaximumErrorCount で指定された数値に達した場合に発生します。MaximumErrorCount を変更するか、エラーを解決してください。
    情報: 現在の分散トランザクションを中止しています。
    完了、18:49:15、経過時間: 00:00:01.498

    どこか設定間違っているか、どこかおかしいのか、ご教授ください。
    助けてください。お願いいたします。
    2009年4月28日 10:03