SE の雑記

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

SQL Server と SQL Database 間でのトランザクションレプリケーションのサポート

one comment

PASS で発表されていた内容となりますが、SQL Server と SQL Database 間でのトランザクションレプリケーションがサポートされるようになりました。
Transactional Replication to Azure SQL DB now in public preview

技術情報については、Replication to SQL Database から確認することができます。

対象のバージョンとして、

  • SQL Server 2016 Community Technology Preview 3 (CTP 3.0)

  • SQL Server 2014 SP1 CU3

  • SQL Server 2014 RTM CU10

  • SQL Server 2012 SP2 CU8

  • SQL Server 2012 expected in SP3

が入っているように、こちらの機能は SQL Server 2016 CTP 3.0 に限定されたものではなく、現時点でリリースされている SQL Server でも利用することが可能です。

SQL Server 2014 SP1 の場合は CU3 以降で使用することができるのですが、これは SP1 CU3 で、以下の変更が行われているためです。

Improvements for Distribution Agent telemetry for Azure subscribers are available in SQL Server 2014

サブスクライバーとして、SQL Database を設定できるようにするため変更が、この累積修正プログラムに含まれています。

冒頭で紹介したドキュメントに構成は記載されていますが、以下のような構成でレプリケーションを設定することができます。

 

パブリッシャー / ディストリビューターとして、Box の SQL Server を設定し、プッシュサブスクリプションとして、SQL Database を設定する形となります。

現状のレプリケーションでは、SQL Database はプッシュサブスクリプションによりデータを受け付けるサブスクライバーとしての動作のみが可能となっています。

設定に関しては、通常のレプリケーションと変わりません。

ディストリビューターとパブリッシャーを SQL Server 上に設定します。
image

次に、サブスクライバーとして、SQL Database を登録します。
SQL Database については、「SQL Server サブスクライバー」として追加を行います。
image

接続先として、SQL Database のサーバー名を指定すれば、サブスクライバーとして追加することができます。

image

ディストリビューターから、サブスクライバー (SQL Database) への接続については、SQL Server 認証で設定をすることで、接続が可能です。
image

これで、プッシュサブスクリプションとして SQL Database が設定できます。
image

現状は、「スナップショットレプリケーション」「トランザクションレプリケーション」が可能ですので、レプリケーションの管理者に関してよく寄せられる質問 / トランザクション レプリケーションに関する注意点 を意識しておくとよさそうですね。

ストアドプロシージャを利用した同期の場合は、SQL Server 同士のレプリケーションと同様に、SQL Database 側に同期のためのストアドがいくつか作られますので、オブジェクトが追加されるということも意識しておくとよいかと。
image

Share

Written by Masayuki.Ozawa

11月 1st, 2015 at 12:36 am

One Response to 'SQL Server と SQL Database 間でのトランザクションレプリケーションのサポート'

Subscribe to comments with RSS or TrackBack to 'SQL Server と SQL Database 間でのトランザクションレプリケーションのサポート'.

  1. […] SQL Server と SQL Database 間でのトランザクションレプリケーションのサポート […]

Leave a Reply