2012-03-19 4 views
0

私はHQとブランチに別のデータベースを持っています。どちらのデータベースも同じですが、すべてのスキーマは同じです。それは複数の支店になる可能性があります。異なる場所から2つのSQL Serverテーブルを同期するにはどうすればよいですか?

たとえば、ブランチにSalesという名前のローカルデータベースがあり、すべてのトランザクションがテーブルに挿入されます。毎晩、店舗が閉鎖されると、ブランチからのすべての販売情報がHQデータベースと同期されます。 HQデータベースにないレコードのみが挿入または更新されます。

インターネットの帯域幅が限られており、常に低下しているため、接続が切断されたときに、小型で軽量で非常に効率的な方法で再接続できますか?

HQから最新の製品と価格ですべての支店に同期するにはどうすればよいですか?

ウェブサービスを作成する必要がありますか?

ありがとうございます。

答えて

3

私はSQL Serverのレプリケーションをお勧めします。コードを書く必要はありません。

http://msdn.microsoft.com/en-us/library/ms151198.aspx

複製が一貫性を維持するためのデータベースとの間で同期コピーのための技術の集合であり、別のデータベースからのデータ およびデータベース・オブジェクトを配布した後 。 レプリケーションを使用すると、ローカルとワイドエリアネットワーク上で異なる場所や リモートユーザーまたはモバイルユーザー、ダイヤルアップ 接続、ワイヤレス接続、およびインターネットにデータを配信できます。

更新:

私はSync Frameworkのを使用するよりも、DBは、クライアントに展開されるよう、複製ができないので。

http://msdn.microsoft.com/en-us/sync/bb821992

マイクロソフトSync Frameworkのは、アプリケーション、サービス、および デバイスのためのコラボレーションとオフラインを有効にする包括的な同期プラットフォーム です。開発者は、 の任意のアプリケーション、任意のネットワーク上のプロトコル を使用する任意のストアからのデータを統合する同期エコシステムを構築できます。 Sync Frameworkは、 がローミング、共有、およびデータのオフライン化を可能にするテクノロジとツールを備えています。

+0

レプリケーションを使用できません。私が1つ以上の支店を持っているとしましょう、私は問題に直面するでしょう。 – kelvinfix

+1

マージレプリケーションは正しい解決策ですか? – kelvinfix

+0

もう1つのことは、ユーザーがsqlserver管理スタジオを使用すべきではないということです。 – kelvinfix

0

私は何を説明してきたことは、あなたがそれを実装したいときの、多かれ少なかれ教科書の一例であるとして、「マージレプリケーションを使用する」と言うためにここに来ました。

0

2つの場所は同じローカルネットワーク内にありますか?また、テーブルはしばらくの間だけ同期する必要があります(リアルタイムの代わりに夜間など)。

回答が両方ともyesの場合は、sql serverのtablediff.exeコマンドラインユーティリティを使用できます。これは、テーブルごとのテーブルを実行し、2つのテーブル間で一回限りの比較を行い、自動的にdestをソースと同期させるSQLを生成します。

GUIラッパーもあります。http://code.google.com/p/sqltablediff/は、ジョブをさらに簡単にします。

0

私はこれまでにxSQL Softwareを使用しており、結果に非常に満足しています。スキーマおよび/またはデータをいずれかの方向、または両方向に複製することができます。

関連する問題