トップ回答者
SQLServerでのレプリケーションについて(即時更新サブスクリプション)

質問
-
SQLServer2005において、3台のサーバ間でのレプリケーションを構築しています。
パブリケーション、サブスクライバ1、サブスクライバ2 という構成で、更新可能サブスクリプションとして設定しています。
当初、パブリケーション→サブスクライバ1,2へのレプリケーションも、サブスクライバ1、2 → パブリケーション も双方向での更新確認ができて
いたのですが、ある日突然、サブスクライバ2 → パブリケーション の更新ができなくなってしまいました。
それと同時に、他のパターンのレプリケーションも一切できなくなり、パブリケーションのスナップショットエージェントが
「このトランザクションを分散トランザクションに昇格できません。アクティブなsavepoint がこのトランザクション内に存在します。メッセージコード:3933」
というエラーを出力して止まってしまっています。
パブリケーション、サブスクリプション共に作り直しをしましたが、事象が変わりません。
どのように対処すれば良いのでしょうか?
回答
-
こんにちは、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
もともとはレプリケーションが行えていたとのことですので、改修などない限りは無効に戻すことが
できると思われますが、弊害がないかご自身で十分ご確認ください。
参考になれば幸いです。
すべての返信
-
こんにちは、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
もともとはレプリケーションが行えていたとのことですので、改修などない限りは無効に戻すことが
できると思われますが、弊害がないかご自身で十分ご確認ください。
参考になれば幸いです。
-
こんにちは。中川俊輔 です。
naginoさん、回答ありがとうございます。
kazooyouさん、フォーラムのご利用ありがとうございます。
有用な情報と思われたため、naginoさんの回答へ回答済みチェックをつけさせていただきました。
設定を試された結果や追加の質問等ありましたら、是非投稿してください!
回答済みチェックが付くことにより、有用な情報を探している方が情報を見つけやすくなります。
有用な情報と思われる回答があった場合は、なるべく回答済みボタンを押してチェックを付けてください。kazooyouさんはチェックを解除することもできますので、ご確認ください。
それでは!