その他の移行方法を比較する

完了

Azure Migrate

Azure Migrate は、オペレーティング システムまたは SQL Server のバージョンを変更することなく、物理または仮想 SQL Server 全体を現在の場所から Azure 仮想マシン上の SQL Server のインスタンスに移動するために使用できるリフト アンド シフト移行戦略です。 移行中、ソース サーバーはオンラインのまま要求の処理を継続し、ソース サーバーと宛先サーバーの間ではデータが同期され、シームレスに近い移行を可能にします。

トランザクション レプリケーション

ダウンタイムを最小限に抑える必要があり、Always On オンプレミスのデプロイがない場合は、 トランザクション レプリケーション を使用します。 移行したいオンプレミスの SQL Server データベースをパブリッシャーとして構成し、Azure 仮想マシン上の SQL Server をその SQL Server インスタンスへのプッシュ サブスクライバーとして構成できます。

この移行を使用するには、次の 3 つの基本的な手順を実行する必要があります。

  1. 配布の設定: レプリケーション トポロジ内のアーティクルの配布を担当します。 アーティクルはデータベース オブジェクトです。 たとえば、"パブリケーション" に含まれているテーブルなどです。
  2. パブリケーションの作成: レプリケートされるデータベースから 1 つ以上のアーティクルのコレクション。
  3. サブスクリプションの作成: パブリッシャーからのパブリケーションサブスクライバーからの要求。

テストを完了し、Azure 仮想マシンのサブスクライバー インスタンス上にデータベースが表示されたら、接続をサブスクライバー データベースに振り分けることができます。 データの移行が成功したら、レプリケーションを停止して削除します。

ログ配布

ログ配布は、セカンダリ サーバー上のデータベースのスタンバイ コピーを維持するために、SQL Server で使用されるデータベース レプリケーションの手法です。 これにより、プライマリ (ソース) データベースから 1 つ以上のセカンダリ (宛先) サーバーへのトランザクション ログ ファイルの継続的バックアップが可能になります。

プライマリ データベースは完全に動作し続け、トランザクション ログ バックアップのソースとして機能します。 その後、トランザクション ログ バックアップはセカンダリ サーバー (複数も可) に自動的にコピーされて復元され、セカンダリ データベースをプライマリと同期した状態に保ちます。

移行シナリオで使用すると、これはフェールオーバー中の中断を最小限に抑え、Always On 可用性グループを立ち上げるよりもセットアップが少なくて済みます。

ログ配布の詳細については、「ログ配布テーブルとストアド プロシージャ」を参照してください。

データベースのデタッチとアタッチ

データベースの移行に使用できるもう 1 つのオフライン メソッドは、データベースをデタッチした後、URL からアタッチすることです。 データベースとログ ファイルをデタッチし、Azure Storage アカウントに転送できます。 次に、Azure VM の BLOB URL からデータベースをアタッチします。

このメソッドは、物理データベース ファイルを Azure Storage に格納したい場合に便利です。 このオプションは、大規模なデータベースに対して使用することができます。 データベースとログ ファイルは、 Azure Data Explorer または AzCopy コマンド ライン ユーティリティを使用して転送できます。

VM に変換して URL にアップロードし、新しい VM としてデプロイする

この方法を使用して、オンプレミス SQL Server インスタンス内のすべてのシステム データベースとユーザー データベースを Azure 仮想マシンに移行します。 このアプローチを使用するべきなのは、独自の SQL Server ライセンスを持ち込む場合、古いバージョンの SQL Server で実行しているデータベースを移行する場合、または他のユーザー データベースまたはシステム データベース、あるいはその両方に依存するデータベースの移行の一部としてシステム データベースとユーザー データベースを合わせて移行する場合です。

インポートおよびエクスポート ウィザードまたは BACPAC

インポート プロセス用の .bacpac ファイルを使用して、SQL Server データベースを Azure 仮想マシン上の SQL Server に移行することを選択できます。 このファイルを使用すると、Azure Blob Storage またはオンプレミスの場所の中のローカル ストレージからデータをインポートできます。 .bacpac ファイルは、データベースのメタデータとデータを含む圧縮ファイルです。

運用環境で最適なスケールとパフォーマンスを実現するために、 SQLPackage ユーティリティを使用することをお勧めします。 テーブルのサブセットに対して複数の SqlPackage コマンドを並列で実行すると、インポート/エクスポート操作を大幅に高速化できます。

Azure Storage 上の SQL Server データ ファイル

このアプローチは完全な移行ではなくハイブリッド移行ですが、 Azure Storage に SQL Server データ ファイル を格納することで、組織はオンプレミスとクラウド サービスをシームレスに統合できます。 これは、組織がビジネス ニーズのバランスを取り、オンプレミスとクラウド ソリューションの両方の利点を使用できるようにする長期的な戦略として機能します。

Azure 上でオンプレミスの SQL Server データ ファイルをホストすることは、クラウドへのデータの移行を検討している組織にいくつかの利点をもたらします。 これはアプリケーションの変更や新しいハードウェアは一切必要としないインクリメンタルな移行を可能にすることで移行プロセスを簡素化します。

一括コピー

bcp ユーティリティを使用すると、SQL Server テーブルからデータ ファイルにデータを一括エクスポートできます。その逆も可能です。 これは将来の一括インポートまたは一括エクスポート操作用のフォーマット ファイルの生成をサポートしています。 このユーティリティは汎用性が高く、SQL Server と他のプログラムやデータベース間のデータ転送を可能にします。

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

Azure Data Factory

データベース全体の移行ではなく、データ移行に Azure Data Factory を使用できます。 Azure Data Factory は、ソース SQL Server データベースからのデータの移行および変換を行えます。 これは、複数のソースから Azure SQL Managed Instance へのデータのマージに対して、特にビジネス インテリジェンス ワークロードに対して、一般的に使用されています。 ただし、これは Azure 仮想マシンで実行されている SQL Server から、あるいは SQL Server へのデータ移動に対しても使用できます。 これを実行するために、ソースから宛先にデータを転送するためのデータ移動パイプラインが Azure Data Factory 内に作成されます。

Windows Import/Export サービス

ネットワーク経由でアップロードできない場合は、 Windows Import/Export Service メソッドを使用して大量のデータを Azure Blob Storage に転送します。 このサービスでは、そのデータを含む 1 台以上のハード ドライブを Azure データ センターに発送し、そこでデータがストレージ アカウントにアップロードされます。