SQL Server Express を使ったレプリケーション
モバイル環境が、社内ネットワークに常時接続できない場合に、SQL Server Expressをサブスクライバーとして、マージレプリケーションでモバイルアプリの要求により同期をとる方法がある。
ここでは、ネットワーク共有を使ったマージレプリケーションの構築について一通りの手順をまとめておく。
ネットワーク共有を使うということは、サーバーとクライアント間の信頼関係が無いことを意味する。よってセキュリティーの落としどころを見極めなくてはならい。
インフラ環境
- 社内にSQL Server がある。レプリケーションのパブリッシャーとして稼働できるエディションであること。
- サーバーと各クライアントPCは、ネットワーク共有を使ってお互いのフォルダーをアクセスできること。
- クライアントPCには、SQL Server Expressをインストールする。このとき、レプリケーションを行うSQL Serverのバージョンを統一すること。
この記事のポイントは、ネットワーク共有を使うということ。つまりSQL Serverとの接続は、全てSQL認証を行う。Windows認証を使う場合は、MicroSoft DOCにあるレプリケーションチュートリアルの通りに全てを構築すればよい。
パブリッシャーとなるSQL Serverに、SQL認証のログインを作成する
クライアントPC(サブスクライバー)からサーバー(パブリッシャー)への接続を目的とするログインを作成する。
マージレプリケーションの構築
レプリケーションチュートリアルに従ってひと通り(トランザクションレプリケーションの構築は除く)構築する。相違点をまとめておく。
サブスクライバーのローカルアカウントは作成しない
SQL Server Expressには、SQLサーバーエージェントが実装されていないため、作成する意味がない。この記事では、その代替方法であるRMO(Replication Management Objects)を使う。
チュートリアルで出てくるコンピューター名NODE2 のアカウント(NODE2\repl_distribution, NODE2\repl_merge)を指す。
疲れたので寝る!続きはまたの機会にorz