web-dev-qa-db-ja.com

SQL ExpressからSQL Enterprise 2014に単一のテーブルを複製する

SQL Expressデータベースにデータを保存する小さなブランチアプリがあります。

SQL Enterprise 2014がある場合、本社にこのテーブルのほぼリアルタイムのコピーを置きたいと思います。5分程度の遅延があるかどうかは問題ではないので、ほぼ言っています。

主なことは、支店と本社の間のネットワーク切断後に同期できることです。

ブランチオフィスのライセンスコストを必要としないソリューションはありますか?

4
Jack Casas

これには、SQL Server マージレプリケーション を使用できます。 SQL Enterpriseインスタンスはパブリッシャーになりますが、マージレプリケーションは双方向でデータを同期できます。したがって、サブスクライバーで行われた変更は、パブリッシャーに複製されます。

これを プッシュサブスクリプション に構成すると、エージェントはすべて中央インスタンスで実行され、SQLエージェントでスケジュールできます。

SQL 2014 Expressは実際にはトランザクションレプリケーションをサポートしていますdoesサブスクライバーとしてのみ なので、ここでは機能しません。

テーブルには組み込みlast_modify_date行を挿入/更新するときにアプリケーションによって確実に更新されるフィールド?

もしそうなら、変更された行をチェックし、本社のコピー内の対応する行を更新/作成するカスタムジョブ(本社サーバーのスケジュールされたジョブのSSISパッケージ)を記述するだけです。

ベンダーアプリケーションがそれを行わない場合は、次の2つのいずれかを行う必要があります。

  1. テーブルにトリガーを追加して、新しいmodifydateフィールドを更新し、上記の機能を使用します
  2. 毎回テーブル全体をコピーするか、テーブル全体を比較して変更を探す、より複雑なプロセスを記述します。
0
BradC