エクスポート (0) 印刷
すべて展開

同期時の競合解決

更新日: 2014年2月

 

 

同期と同期の間に同期グループ内の複数のデータベースで同じデータ行が変更されると、SQL データ同期プレビューのデータ競合が発生します。どのポリシーを選択しても、競合状況になると、変更された行の 1 つが保持され、それ以外の行は破棄されます。ここでは、各競合解決ポリシーの動作について説明します。

Microsoft Azure Silverlight ポータル上の Microsoft Azure SQL データ同期プラグインは廃止されました。今後、Azure SQL データ同期には Microsoft Azure の管理ポータルを使用してください。

Microsoft Azure の管理ポータルの [SQL データベース] の下にある [同期] タブから SQL データ同期 (プレビュー) にアクセスします。[同期] タブは、1 つまたは複数の同期グループを持つ場合にのみ使用できます。「方法: Create a Sync Group (SDS)」のトピックで、このポータルから同期グループを作成、修正する方法をご覧いただけます。

開始前に読んでおく必要があるトピックへのリンク、および同期グループの作成と変更に関するガイダンスへのリンクについては、以下の「ナビゲーション」を参照してください。

SQL データ同期プレビューでは、"ハブを優先" と "クライアントを優先" の 2 つの競合解決ポリシーから選択できます。

ハブに最初に書き込まれた行の変更が保持されます。ハブ内の同じ行に対する後続の書き込みは破棄されます。したがって、ハブに最初に書き込まれた行の変更が、同期の終わりまでにすべてのメンバー データベースに反映されます。

クライアント データベースで変更されたすべての行がハブに書き込まれ、同じ行に対するそれ以前の変更は上書きされます。したがって、ハブへの最後の書き込みが同期の終わりまでにすべてのメンバー データベースに反映されます。

図 1 を使用して、以下を仮定してみます。

  • 両方のリモート オフィスは、SQL データベース ハブ データベースの同じ同期グループに属しています。

  • この図での同期順序は、Remote Office #1、Remote Office #2 の順です。実際には、同期順序は不確定であり、同期ごとに異なる場合があります。

  • 連絡先テーブルには、次の値を持つ 4 つの興味深い列があります。

     

    電話番号

    会社

    1

    William

    Vong

    (270)555-1234

    Contoso

複数のバージョンの同じ行で変更が行われます。どのバージョンの行を保持するかは、競合解決ポリシーによって決まります。

 

データベース/オフィス

電話番号

会社

RO #1

1

Bill

Vong

(206)555-1212

Contoso

RO #2

1

Will

Vong

(270)555-1234

Contoso, Inc.

 

手順/変更

電話番号

会社

1 番目

RO#1 に変更があるかどうかをポーリングします。

1

Bill

Vong

(206)555-1212

Contoso

2 番目

変更された行全体がハブに書き込まれます。
行がハブで変更されたものとしてマークされます。

1

Bill

Vong

(206)555-1212

Contoso

3 番目

ハブで変更されたものとしてマークされている他のすべての行は、RO#1 に書き込まれ、RO#1 との同期が完了します。

4 番目

RO#2 に変更があるかどうかをポーリングします。

1

Will

Vong

(270)555-1234

Contoso, Inc.

5 番目

行 1 は既にハブで変更済みとしてマークされているため、行 1 では RO#2 の変更はすべて無視されます。

6 番目

変更されたすべての行がハブから RO#2 に書き込まれます。

1

Bill

Vong

(206)555-1212

Contoso

この同期後の 3 つのデータベースすべての状態
この同期サイクルの後で、データは一致します。RO#2 で別の行が変更されている場合、その変更は、次の同期サイクルまで RO#1 には書き込まれません。

ハブ

1

Bill

Vong

(206)555-1234

Contoso

RO#1

1

Bill

Vong

(206)555-1234

Contoso

RO#2

1

Bill

Vong

(206)555-1234

Contoso

 

手順/変更

電話番号

会社

1 番目

RO#1 に変更があるかどうかをポーリングします。

1

Bill

Vong

(206)555-1212

Contoso

2 番目

変更された行全体がハブに書き込まれます。
行がハブで変更されたものとしてマークされます。

1

Bill

Vong

(206)555-1212

Contoso

3 番目

ハブで変更されたものとしてマークされている他のすべての行は、RO#1 に書き込まれ、RO#1 との同期が完了します。

4 番目

RO#2 に変更があるかどうかをポーリングします。

1

Will

Vong

(270)555-1234

Contoso, Inc.

5 番目

変更された行がハブに書き込まれ、それ以前の変更が上書きされます。

1

Will

Vong

(270)555-1234

Contoso, Inc.

6 番目

ハブで変更されたものとしてマークされている他のすべての行は、RO#2 に書き込まれ、RO#2 との同期が完了します。

1

Will

Vong

(270)555-1234

Contoso, Inc.

この同期後の 3 つのデータベースすべての状態
この同期サイクルの後で、データの不一致が発生します。次の同期サイクルでは、ハブで変更された行が RO#1 に書き込まれ、その行が他の 2 つのデータベースと一致するようになります。

ハブ

1

Will

Vong

(270)555-1234

Contoso, Inc.

RO#1

1

Bill

Vong

(206)555-1234

Contoso

RO#2

1

Will

Vong

(270)555-1234

Contoso, Inc.

SQL データ同期プレビューは SQL データベースの機能です。Azure 管理ポータルから、同期グループの作成、配置、および変更するために必要なすべてのタスクを実行できます。

 

開始前の準備

同期の設計および実装を開始する前に、以下の各トピックを理解しておく必要があります。

同期グループの作成方法

Azure 管理ポータルから同期グループを作成するには、6 つの手順を実行します。各手順の詳細については、以下のリンクを参照してください。

  1. Azure SQL データベース管理ポータル
    へのサインインSQL データ同期プレビューは、同期グループを作成すると、SQL データベースのタブとして表示されます。

  2. SQL データ同期プレビュー クライアント エージェントをインストールする

  3. SQL Server データベースをクライアント エージェントに登録する

  4. 同期グループを作成する (SDS)

  5. 同期データを定義する (SDS)

  6. 同期グループを構成する (SDS)

 

同期グループの変更方法

同期グループにテーブルまたは列を追加/削除したり、列の幅またはデータ型を変更したりして、同期グループのスキーマを変更できます。詳細については、以下のリンクを参照してください。

関連項目

表示:
© 2014 Microsoft