[DBMoto]オンプレミスDBからAzure SQL Databaseへレプリケーションによる簡単移行連携


DBMotoはMicrosoft Azure SQL Databaseとのリアルタイムレプリケーションに対応しています。
オンプレミスのDBからAzure SQLへ簡単に移行・連携することが可能です。
20151001-18

●Azure SQL Databaseの構築

Azureへログインし、左メニューからSQLデータベースを選択し、新規でDBを作成します。
20151001-01

データベース名やパフォーマンスレベル、照合順序などを設定します。
照合順序はSQL Serverの標準と同様のJapanese_CI_ASを選択しました。
20151001-02

ログイン情報を設定します
20151001-03

しばらくするとDBが作成されます
20151001-04

DBMotoマシンからAzureへ接続するためにDBMotoマシンからアクセスして「このIPアドレス用にMicrosoft Azureファイアウォールルールを設定する」をクリックし、接続を許可します。もしくは他マシンからアクセスしてDBMotoマシンのIPアドレスを許可します。
また、DBMotoから接続する際の接続先サーバのホストをメモしておきます。
20151001-05

実際にAzureへの接続を確認するため、SQL Server用のManagement Studioを使用して接続します。
20151001-06

正しくAzureに接続できたことを確認します。
20151001-07

●DBMotoでの設定

DBMotoからAzureへ接続する際に、データベースは「Microsoft Azure SQL Database」を選択します。
接続ドライバは.NET Framework内蔵のSQL Clientを使用するため別途準備は不要です。
20151001-08

Azureのホスト、ユーザ名、パスワード、DB名を入力して接続を確認します。
20151001-09

今回はオンプレミスのOracleからAzure SQL Databaseへレプリケーションすることを例に、Oracleのテーブル情報を元にAzure上にテーブルを作成します。
20151001-10

このように複製元のOracleのテーブル構成を元にAzure用に適切なデータタイプ等が自動選定されます。手動でも変更可能です。
20151001-11

発行されるクエリを確認し、テーブル作成を行います。
20151001-12

あとはレプリケーションジョブを作成してレプリケーションの準備は完了です。

●DBMotoでのレプリケーション検証

まずはデータの確認です。複製元のOracleは下記のデータとなっています。
20151001-13

続いてAzureのデータの確認です。先ほどDBMotoからテーブルを作成したのみですので空っぽです。
20151001-14

DBMotoのレプリケーションサービスを開始し、まずは全件リフレッシュが実行されます。
下記のようにAzure上に正しく全レコードがレプリケーションされていることを確認します。
20151001-15

続いて差分レプリケーション確認のため、Oracle上で意図的にデータの更新をかけます。
※Oracle SQL Developerで更新しました。
20151001-16

その後、今度はSQL Server Management Studioにて正しく差分のデータが反映されていることを確認しました。
20151001-17

このようにオンプレミスDBからAzure SQL Databaseへ簡単にレプリケーションによる移行・連携が可能です。
またAzureから他DBへのレプリケーションにも対応しています。その際はレプリケーション対象のテーブルにトリガーを作成して差分レプリケーションを行うことも可能です。

関連したトピックス

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください