SQL Server Express を使ったレプリケーション その2
前回の続き
チュートリアル:レプリケーションのSQLサーバーの準備では、サブスクライバーの設定以外は、そのまま行えるのでやっておく。
前回のパブリッシャーとなるSQL認証ログインについて、プロパティーの内容を画像で貼っておく。ログイン名を’scwebapp’としている。秘匿情報にかかわる部分は消しているが、設定としてはあまり重要な部分はない。重要な部分は、赤枠で囲ってある。
全般
サーバーロール
ユーザーマッピング
セキュリティー保護可能なリソース
状態
お次は、マージレプリケーションの構築だ。チュートリアルのここを手順に構築する。
この中で、8項[テーブル行のフィルター選択] ページで、[追加]、[フィルターの追加] の順に選択します。 という部分は、自分のテーブルでフィルター処理しない場合は、11項まで設定の必要はない。
エージェントセキュリティ
この設定は、パブリッシャーに接続の部分をSQL認証で設定する必要がある。
こうすると、サブスクライバーによる同期は、SQL認証の場合でも、上半分で指定したWindowsアカウントの資格情報を使って実行可能となる。
さて、ここからマージ パブリケーションのサブスクライバーを追加するまで、設定を進める。
ここで相違があるのは、パブリッシャーへの接続だ。チュートリアルの図では矢印で簡単にすませているが、ドメインコントローラーを使っていないのでSQL認証で行うことになる。
上記ダイアログで、先に作成したSQL認証用のログオンで接続して、チュートリアルの右側の図の通りに設定できる。
あとは、フィルター処理をしていない場合に、HOST_NAME値の設定は不要。そのままそのチュートリアルのマージパブリケーションのサブスクライバーを追加するの項を設定する。
サブスクライバー側でアクセス処理を設定する
この項は、設定しない。前にも書いたがSQL Server Expressは、サーバーエージェントの機能が実装されていないためである。
サブスクリプションのフィルター選択データのスナップショットを作成する
この項は、フィルターを使っていない場合は設定不要。
チュートリアルで、以降の手順は実施しない。というかできない。理由はサブスクライバーにエージェントが無いからである。なら、どうやって同期するか・・・
ここで、RMOの出番である。(ほかにも)T-SQLとか選択肢はあるけどね)