none
SQLServer2008 リンクサーバー経由でトランザクションを実行するとエラーになる RRS feed

  • 質問

  • WindowsServer 2008 R2 Standard

    SQLServer 2008

    上記サーバーに以下のサーバーに構築済みのデータベースに対してリンクサーバーを作成

    WindowsServer 2008 R2 Standard SP1

    SQLServer 2008

     

    以下を参考に、MSDTCを設定しサービスを再起動。両サーバーともレジストリについて全て確認。

    リンク元のサーバーに、xact abortの権限を付与。

    http://technet.microsoft.com/ja-jp/library/cc759136.aspx

     

    両サーバーとも、MSDTCの実行ユーザーはNETWORK SERVICE

    SQLServerの実行ユーザーは、Localsystemで、フルコントロールにて開始しております。

     

    現象としては、SELECT、UPDATE等の実行は可能だが、

    マネージメントより、トランザクションを利用した場合のみ以下のエラーが発生する。

    リンク サーバー "*****" の OLE DB プロバイダー "SQLNCLI10" から、メッセージ "アクティブなトランザクションがありません。" が返されました。
    メッセージ 7391、レベル 16、状態 2、行 2
    リンク サーバー "*****" の OLE DB プロバイダー "SQLNCLI10" で分散トランザクションを開始できなかったので、この操作を実行できませんでした。

     

    同様の環境を別で構成したおりますが、上記事象は発生しておりません。

     

    何か他に原因の解明方法、解決策等ご存じの方がいらっしゃったらご教授頂きたく。

    お願致します。

    2011年11月10日 2:43

回答

すべての返信

  • 状況が変わりましたので追記します。

    MSDTCの設定について同一ドメインではないため、「認証を必要としない」に設定を切り替えたところ、3回に2回は通るようになりました。

     

    他に設定は変更しておりませんが、エラーになったりならなかったりといった状況です。

    解決策等ご存じの方がいらっしゃいましたら、ご教授いただきたく。よろしくお願致します。

     

    2011年11月11日 12:11
  • もうご覧になっているかもしれませんが参考までにどうぞ。
    http://support.microsoft.com/kb/306212/ja

    3回に1回失敗する理由が不明ですが、1度RPCのポートやファイアーウォールの設定等を
    チェックしてみてはいかがでしょうか。
    • 回答の候補に設定 山本春海 2011年11月24日 8:44
    • 回答としてマーク 山本春海 2011年12月15日 9:00
    2011年11月11日 14:41
    モデレータ