- PR -

SqlServer2000 レプリケーションにつきまして

1
投稿者投稿内容
newborn
常連さん
会議室デビュー日: 2005/04/28
投稿数: 34
お住まい・勤務地: JAPAN
投稿日時: 2006-06-14 10:24
皆様、こんにちわ。

SqlServer2000を利用したレプリケーションの設定について質問させてください。

【目的】
メインサーバー(本番運用)のデーターベースの内容をサブサーバー(バックアップ用)に随時データーの差分を更新。
もしもメインサーバーが利用できない場合は、サブサーバーで運用。
メインサーバーが復帰後、サブサーバーのデーターの差分をメインサーバーに戻し、
メインサーバーで運用再開。

【これまでの過程】
テスト用のサーバーを2台用意し、メイン⇒サブでトランザクションレプリケーションを設定、
メインサーバーのDBを更新した場合、サブサーバーの内容が変更される事を確認。

【問題点】
サブサーバーで運用を行っていた間の差分データーを、メインサーバーに戻す最善の方法がわかりません。
DTSでサブサーバーの内容をすべてメインサーバーへ戻そうとしても、
’レプリケーションで使用されているので、切捨てられません。’
なるエラーが表示されます。
今回の様な場合、サブスクライバー側からも、メインサーバーを更新できるよう、更新可能なサブスクリプションのオプションで、キュー更新にチェックをいれて、
サブサーバーで運用されている間のデーターキューに蓄積しておき、メインサーバー復帰後反映させるようにすればよろしいのでしょうか。

【環境】
Sqlserver2000 Standard Edition
Windows2003 Server


何卒宜しくお願いいたします。
ue
ぬし
会議室デビュー日: 2005/05/07
投稿数: 581
お住まい・勤務地: 広島市
投稿日時: 2006-06-14 10:55
こんにちは。

マイクロソフトが公開している自習書シリーズにサブスクライバで発生した変更をパブリッシャや他のサブスクライバに反映する方法が載っています。

SQL Server 2000 自習書シリーズ
管理編 No.5 レプリケーション編, p15, サブスクライバ側でのデータ変更
http://www.microsoft.com/japan/technet/prodtechnol/sql/2000/evaluate/exercises.mspx
newborn
常連さん
会議室デビュー日: 2005/04/28
投稿数: 34
お住まい・勤務地: JAPAN
投稿日時: 2006-06-14 11:11
ue様、
お早い返信ありがとうございます。

リンク先の”管理編 No.5 レプリケーション編, p15, サブスクライバ側でのデータ変更” の内容を読んでみましたが、サブサーバーで運用中は、メインサーバーとの通信
はできないものと仮定しておりますので、やはりキュー更新を選択する方法がよいのではないかと思いました。
ue
ぬし
会議室デビュー日: 2005/05/07
投稿数: 581
お住まい・勤務地: 広島市
投稿日時: 2006-06-14 11:31
ueです。

パブリッシャが利用出来ない場合を想定したご質問でしたね。
失礼しました。
newborn
常連さん
会議室デビュー日: 2005/04/28
投稿数: 34
お住まい・勤務地: JAPAN
投稿日時: 2006-06-15 14:59
皆様、
お世話になります。Newbornです。

本日、ue様よりのアドバイスを踏まえまして、
サブスクライバでの変更内容をパブリッシャーに反映させる
テストを行いましたが、エラーになってしまい困っております。

【テスト内容】
メイン(パブリッシャー)⇒サブ(サブスクライバー)でトランザクション
レプリケーション(キュー更新オプションあり)で設定。

・メインのDBに登録した内容をサブに反映できることを確認。

・サブのDBにデーターを1行追加。

⇒パブリッシャーのキューリーダーエージェントでエラー発生。
(エラー内容は下記の通りです。)


【エラーの詳細】
サーバー: パブリッシャー、 データベース test2 : ODBC エラー:サブスクリプションが削除されたので、パブリッシャを変更できませんでした。 sp_subscription_cleanup を使用して、トリガのクリーンアップをする必要があります。

上記のエラー内容が把握できずに困っております。

宜しくお願いいたします。

1

スキルアップ/キャリアアップ(JOB@IT)