Azure SQL Database にデータを移動する

完了

スキーマ全体とそのデータを移行するために使用できる方法もありますが、データベースのサブセットのみが必要な場合もあります。 幸いなことに、これまで見てきた方法の多くは部分的なデータ移行をサポートしています。これから、その他のいくつかについて学習します。

自転車メーカーのシナリオで、会社に、数年分の売上、顧客、製品データを含むオンプレミスの SQL Server データベースがあるとします。 この会社は、クラウドのスケーラビリティと柔軟性を活用するために、Azure SQL Database に移行したいと考えています。 ただし、移行する必要があるのは顧客と製品のテーブルのみです。これは、セキュリティ上の理由から、売上データはオンプレミスに保持するためです。

SQL データ同期

データ同期機能を使用すると、Azure SQL Database またはオンプレミス SQL Server で実行されている複数のデータベース間でデータを増分同期できます。 データ同期を使用して、移行後のソースとターゲットのデータベースの同期を維持することもできます。 データ同期では、挿入、更新、および削除の 3 種類のトリガーを使用して変更を追跡します。 変更はユーザー データベースのサイド テーブルに記録されます。

双方向にデータを同期する機能のため、この機能はハイブリッド アプリケーションに最適な選択肢です。 特に、一部のアプリケーションを Azure に迅速に移行できるため、クラウドへの移行を検討している顧客にとって魅力的です。

Diagram showing the SQL Data Sync architecture.

データ同期はハブ トポロジに基づいています。このトポロジでは、ハブ データベースとして機能する同期グループ内のデータベースの 1 つを定義します。 同期グループには複数のメンバーを含めることができ、変更の同期はハブ データベースと個々のデータベースとの間でのみ行うことができます。 データ同期は、ユーザー データベースで作成された履歴テーブル経由で、INSERTUPDATE、および DELETE の各トリガーを使用して変更を追跡します。

待機時間が短いトランザクション レプリケーションと比較すると、データ同期の欠点の 1 つは、パフォーマンスへの影響が大きいことです。 つまり、データ同期を使用すると、1 つのデータベースに加えられた変更に対して必要なリソースがより多くなります。

同期グループを作成すると、同期グループのメタデータを格納するデータベースを指定するように求めるメッセージが表示されます。 メタデータの場所は、同期グループと同じリージョンに存在する限り、新しいデータベースにすることも、既存のデータベースにすることもできます。

Screenshot showing the new sync group page from Azure portal.

スケジュールの同期、競合解決オプション、必要に応じたプライベート リンクの使用などの、同期グループのプロパティを指定できます。

SQL データ同期を構成する方法の詳細については、「チュートリアル: Azure SQL Database と SQL Server のデータベース間の SQL データ同期の設定」を参照してください。

一括コピー

bcp ユーティリティを使用すると、SQL Server テーブルからデータ ファイルへの、そしてその逆のデータの一括エクスポートが可能になります。 このユーティリティは汎用性が高く、SQL Server と他のプログラムやデータベース間のデータ転送を可能にします。

以前から存在するフォーマット ファイルが使用可能でない限り、テーブルのスキーマとデータ型を理解することは、bcp コマンドを効果的に使用するために不可欠です。

Azure Data Factory

データベース全体の移行ではなくデータの移行に対しては Azure Data Factory を使用できます。 Azure Data Factory は、ソース SQL Server データベースからデータを移行および変換でき、ビジネス インテリジェンス ワークロード (BI) でよく使用されます。