SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

Data Sync 2.0 が Azure Portal から設定できるようになりました

leave a comment

Migrating to Azure SQL Data Sync 2.0 で、2017/7/1 から、Data Sync の設定は Azure Portal からのみになるという記載があったことを思い出し、今どういう状態になっているんだろうと思って、確認をしたところ SQL Database に「別のデータベースに同期」という設定が増えていました。

image
先月の段階で、英語版のドキュメントについては、Data Sync 2.0 対応されていたんですね。
Getting Started with Azure SQL Data Sync (Preview)
制限等については次のドキュメントから確認することができます。
Sync data across multiple cloud and on-premises databases with SQL Data Sync

昔の Data Sync の記憶をたどってみたところ、2.0 となっても、基本的な構成は変わっていないようですね。
基本構成としては、ハブ&スポーク型の環境で、指定したテーブルのデータを、双方向または片方向で同期を行う仕組みとなります。
データの最小の同期間隔については「5 分」となっており、「主キーが設定されているテーブルが同期対象として選択可能」となっています。
SQL Database とデータ同期をとる方法としては、レプリケーションの利用もありますが、どちらも (レプリケーションについては厳密にはトランザクションレプリケーション利用時) 主キーが必要となりますので、テーブルの構造上の注意はあるのかなと。
設定の流れとしては、次のようになります。

  1. 同期グループを作成
  2. 同期グループの作成時には、メタデータを格納するためのメタデータ DB を SQL Database 上に作成
  3. 同期グループに SQL Database 上のハブデータベースとなるデータベースを追加
  4. 同期グループに、同期対象となるメンバーデータベースを追加
  5. SQL Server と同期を行う場合には、同期エージェントをインストールした環境を構築
    (SQL Server がインストールされている環境と同一でも別筐体でも作成できそうです)
  6. 同期エージェントをインストールした場合、「Microsoft Data Sync 2.0」を起動して、同期対象となる SQL Server の追加と、同期エージェントのキー (ポータルから同期エージェント登録時にのみ取得可能) を実施

設定自体はポータルの指示に従って実施すればよいため、大きな問題はないのですが、SQL Server と同期をこなう際に必要となる同期エージェントをインストールす環境では、「英語版の SQL Server 2012 x86 の Shared Management Objects が必要となる」という点でしょうか。
日本語版や x64 版をインストールすしても同期エージェントの前提条件をパスすることができません。
image
同期エージェントに関しては、昔懐かしい感じの UI となっています。
image
 
構成に関しては、冒頭で紹介したドキュメントにも構成例が記載されていますが、次の 2 パターンのような構成が可能となっているようです。

sync-data-overview[1]

1 台のハブデータベースとメンバーデータベース間で同期をとることも、複数のメンバーデータベースと同期をとることも可能な構成となっています。
設定が終わるとこのような感じで、ポータルからデータの同期状況を確認することができます。
image
データの同期については、1.0 の時と同じで、トリガーによるデータのキャプチャにより実装されているようですね。
同期対象としたテーブルに合わせた、トリガーとキャプチャしたデータを格納するための「dss_tracking」というテーブルが作成されます。
image
Data Sync、あまり話題にならない機能のように思っていたのですが、終了されておらず、Azure ポータルにも移行されたので、利用されている方が意外と多かったんですかね。

Share

Written by Masayuki.Ozawa

7月 12th, 2017 at 7:24 pm

Posted in SQL Database

Tagged with

Leave a Reply