none
SQLServerでのレプリケーションについて(即時更新サブスクリプション) RRS feed

  • 質問

  • SQLServer2005において、3台のサーバ間でのレプリケーションを構築しています。
    パブリケーション、サブスクライバ1、サブスクライバ2 という構成で、更新可能サブスクリプションとして設定しています。

    当初、パブリケーション→サブスクライバ1,2へのレプリケーションも、サブスクライバ1、2 → パブリケーション も双方向での更新確認ができて
    いたのですが、ある日突然、サブスクライバ2 → パブリケーション の更新ができなくなってしまいました。
    それと同時に、他のパターンのレプリケーションも一切できなくなり、パブリケーションのスナップショットエージェントが
    「このトランザクションを分散トランザクションに昇格できません。アクティブなsavepoint がこのトランザクション内に存在します。メッセージコード:3933」
    というエラーを出力して止まってしまっています。

    パブリケーション、サブスクリプション共に作り直しをしましたが、事象が変わりません。

    どのように対処すれば良いのでしょうか?

    2008年8月12日 2:15

回答

すべての返信

  • こんにちは、naginoです。

     

    英語版のMSDNフォーラムで似たような事例があるようです。

    http://forums.microsoft.com/msdn/ShowPost.aspx?PostID=872803&SiteID=1

     

    いずれかのサーバで remote proc trans が有効に設定されていませんでしょうか。

    あるいはトランザクション内で SET REMOTE_PROC_TRANSACTIONS ON としていませんでしょうか。

    無効にすることでエラーが解消するかもしれません。

     

    なお、remote proc trans については以下をご参照ください。

    http://msdn.microsoft.com/ja-jp/library/ms189322(SQL.90).aspx

    http://msdn.microsoft.com/ja-jp/library/ms189322.aspx

    もともとはレプリケーションが行えていたとのことですので、改修などない限りは無効に戻すことが

    できると思われますが、弊害がないかご自身で十分ご確認ください。

     

    参考になれば幸いです。

     

    2008年8月12日 2:38
  • さっそくの回答をありがとうございます。

     

    おっしゃられる通り、remote proc transは有効になっています。

    何故にそういう設定にしたのかは定かではありませんが、マニュアルを見ても、将来は無くなる機能だから使わないようにと

    注記してある機能ですので、OFFに設定して再度やってみます。

    お盆休みで、サーバ触る事ができませんので、盆明けにご報告いたします。

     

    ありがとうございました。

     

    2008年8月12日 7:36
  • こんにちは。中川俊輔 です。

     

    naginoさん、回答ありがとうございます。

     

    kazooyouさん、フォーラムのご利用ありがとうございます。

    有用な情報と思われたため、naginoさんの回答へ回答済みチェックをつけさせていただきました。

    設定を試された結果や追加の質問等ありましたら、是非投稿してください!

     

    回答済みチェックが付くことにより、有用な情報を探している方が情報を見つけやすくなります。
    有用な情報と思われる回答があった場合は、なるべく回答済みボタンを押してチェックを付けてください。

    kazooyouさんはチェックを解除することもできますので、ご確認ください。

     

    それでは!

    2008年9月4日 7:08