Azure Data Studio 用 Azure SQL 移行拡張機能を使用してデータベースを移行する

Azure Data Studio の Azure SQL 移行拡張機能を使うと、評価を行い、Azure の推奨事項を取得し、SQL Server データベースを Azure に移行できます。

Azure Data Studio 用 Azure SQL 移行拡張機能を使用する主な利点は次のとおりです。

  1. SQL Server データベースの Azure 対応性を評価する、またはそれらを Azure に移行する前に移行の阻害要因を特定します。 Azure SQL 移行拡張機能を使用して、Windows と Linux の両方のオペレーティング システムで実行されている SQL Serverデータベースを評価できます。
  2. ソース SQL Server データベースから収集されたパフォーマンス データに基づいて、適切なサイズの Azure レコメンデーションを取得します。 詳細については、「オンプレミスの SQL Server データベースに適したサイズの Azure レコメンデーションを取得する」を参照してください。
  3. 使いやすいウィザードを使用して、オンライン (最小限のダウンタイム) とオフラインのデータベース移行を実行します。 詳細なステップバイステップのチュートリアルについては、「チュートリアル: Azure Data Studio と DMS を使用して SQL Server を Azure SQL Managed Instance にオンラインで移行する」を参照してください。
  4. Azure portal から Azure Data Studio で開始されたすべての移行を監視します。 詳細については、「Azure portal からデータベース移行の進行状況を監視する」を参照してください。
  5. Azure SQL 移行拡張機能の機能を活用し、Azure PowerShell と Azure CLI による自動化を使用して、データベースを大規模に評価および移行します。 詳細については、「自動化を使用してデータベースを大規模に移行する」を参照してください。

次の 16 分間のビデオでは、Azure Data Studio の Azure SQL 移行拡張機能に追加された最新の更新と機能について説明されています。これには、SQL Server データベースの評価の新しいワークフローや、この記事で説明する Azure の推奨事項が含まれます。

Azure Data Studio 用 Azure SQL 移行拡張機能のアーキテクチャ

Azure Database Migration Service (DMS) は、アーキテクチャ全体のコア コンポーネントの 1 つです。 DMS は、Azure SQL へのデータベースの移行を可能にする信頼性の高い移行オーケストレーターを提供します。 DMS を作成したり、既存の DMS を再利用したりするときは、Azure Data Studio (ADS) の Azure SQL 移行拡張機能を使用します。 DMS では、Azure Data Factory のセルフホステッド統合ランタイムを使用して、オンプレミスのネットワーク共有の有効なバックアップ ファイルにアクセスし、Azure ストレージ アカウントにアップロードします。

移行プロセスのワークフローを次の図に示します。

Diagram of architecture for database migration using Azure Data Studio with DMS

  1. ソース SQL Server: オンプレミス、プライベート クラウド、または任意のパブリック クラウドの仮想マシン上の SQL Server インスタンス。 SQL Server 2008 以降のすべてのバージョンがサポートされています。
  2. ターゲット Azure SQL: サポートされている Azure SQL ターゲットは、Azure SQL Managed Instance と Azure 仮想マシン上の SQL Server (フル管理モードで SQL IaaS Agent 拡張機能に登録済み) です。
  3. ネットワーク ファイル共有: 移行するデータベースのバックアップ ファイルが保存されているサーバー メッセージ ブロック (SMB) ネットワーク ファイル共有。 Azure Storage BLOB コンテナーと Azure Storage ファイル共有もサポートされています。
  4. Azure Data Studio: Azure Data Studio の Azure SQL 移行拡張機能をダウンロードしてインストールします。
  5. Azure DMS: オンプレミスから Azure へのデータ移動アクティビティを実行するために移行パイプラインを調整する Azure サービスです。 DMS は、Azure Data Factory (ADF) のセルフホステッド統合ランタイム (IR) に関連付けられており、セルフホステッド IR を登録および監視する機能を提供します。
  6. セルフホステッド統合ランタイム (IR) : セルフホステッド IR は、ソース SQL Server とバックアップ ファイルの場所に接続できるマシンにインストールする必要があります。 DMS によって認証キーが提供され、セルフホステッド IR が登録されます。
  7. Azure Storage へのバックアップ ファイルのアップロード: DMS はセルフホステッド IR を使用して、オンプレミスのバックアップの場所から、プロビジョニング済みの Azure ストレージ アカウントに有効なバックアップ ファイルをアップロードします。 データ移動アクティビティとパイプラインは、バックアップ ファイルをアップロードするために移行ワークフローで自動的に作成されます。
  8. ターゲット Azure SQL でのバックアップの復元: DMS は、Azure ストレージ アカウントからサポートされているターゲット Azure SQL にバックアップ ファイルを復元します。

    重要

    オンライン移行モードでは、DMS がソース バックアップ ファイルを Azure Storage に継続的にアップロードし、ターゲットに復元していきます。これが終わったら、最後にターゲットへのカットオーバーを実行する必要があります。

    オフライン移行モードでは、DMS がソース バックアップ ファイルを Azure Storage にアップロードし、ターゲットに復元します。カットオーバーを実行する必要はありません。

前提条件

サポートされているすべての移行シナリオで共通の、Azure Database Migration Service の前提条件は、次のとおりです。

  • Azure Data Studio をダウンロードし、インストールする

  • Azure Data Studio マーケットプレースから Azure SQL 移行拡張機能をインストールする

  • 次に示す組み込みロールのいずれかに割り当てられている Azure アカウントを用意します。

    • ターゲット Azure SQL Managed Instance の共同作成者 (および SMB ネットワーク共有からデータベース バックアップ ファイルをアップロードするためのストレージ アカウント)。
    • ターゲット Azure SQL Managed Instance または Azure ストレージ アカウントを含む Azure リソース グループの閲覧者ロール。
    • Azure サブスクリプションの所有者または共同作成者ロール。
    • 前述の組み込みロールを使用する代わりに、この記事で定義したカスタム ロールを割り当てることもできます。

    重要

    Azure アカウントは、移行手順を構成する場合にのみ必要であり、移行ウィザードの評価または Azure の推奨事項の手順では必要ありません。

  • ターゲットの Azure SQL Managed Instance または Azure 仮想マシン上の SQL Server を作成します

    重要

    既存の Azure Virtual Machine がある場合、フル管理モードで SQL IaaS Agent 拡張機能に登録する必要があります。

  • ソース SQL Server の接続に使用するログイン情報が、sysadmin サーバー ロールのメンバーであるか、 アクセス許可が付与されていることを確認します。

  • データベースの完全バックアップ ファイルとトランザクション ログ バックアップ ファイルに、次のいずれかのストレージ オプションを使用します。

    • SMB ネットワーク共有
    • Azure ストレージ アカウントのファイル共有または BLOB コンテナー

    重要

    • データベース バックアップ ファイルが SMB ネットワーク共有で提供されている場合は、DMS サービスがデータベース バックアップ ファイルをアップロードできる Azure ストレージ アカウントを作成します。 Azure Storage アカウントは、Azure Database Migration Service インスタンスの作成先と同じリージョンに作成してください。
    • Azure Database Migration Service によってバックアップが開始されることはなく、移行には既存のバックアップが使用されます。これは、ディザスター リカバリー計画の一部として既に作成されている場合があります。
    • オプションを使用してバックアップを作成する必要があります。
    • 各バックアップは、独立したバックアップ ファイルまたは複数のバックアップ ファイルに書き込まれます。 ただし、1 つのバックアップ メディアに複数のバックアップ (完全バックアップとトランザクション ログなど) を追加することはサポートされていません。
    • 大きなバックアップの移行に関連する潜在的な問題が発生する可能性を低減するには、圧縮されたバックアップを使用します。
  • ソース SQL Server インスタンスを実行しているサービス アカウントに、データベース バックアップ ファイルが格納されている SMB ネットワーク共有に対する読み取りおよび書き込みアクセス許可があることを確認します。

  • Transparent Data Encryption (TDE) で保護されているデータベースのソース SQL Server インスタンス証明書は、データを移行する前に、ターゲットの Azure SQL Managed Instance または Azure 仮想マシン上の SQL Server に移行する必要があります。 詳細については、「TDE で保護されたデータベースの証明書を Azure SQL Managed Instance に移行する」および「別の SQL Server への TDE で保護されたデータベースの移動」を参照してください。

    ヒント

    データベースに Always Encrypted で保護されている機密データが含まれている場合、Azure Data Studio と DMS を使用した移行プロセスでは、ターゲットの Azure SQL Managed Instance または Azure 仮想マシン上の SQL Server に Always Encrypted キーが自動的に移行されます。

  • データベース バックアップがネットワーク ファイル共有にある場合は、データベース バックアップにアクセスして移行するためのセルフホステッド統合ランタイムをインストールするマシンを用意します。 移行ウィザードでは、セルフホステッド統合ランタイムをダウンロードしてインストールするためのダウンロード リンクと認証キーが提供されます。 移行の準備として、セルフホステッド統合ランタイムをインストールする予定のマシンで、次のアウトバウンド ファイアウォール規則とドメイン名が有効になっていることを確認します。

    ドメイン名 送信ポート 説明
    パブリック クラウド: {datafactory}.{region}.datafactory.azure.net
    または *.frontend.clouddatahub.net
    Azure Government: {datafactory}.{region}.datafactory.azure.us
    中国: {datafactory}.{region}.datafactory.azure.cn
    443 セルフホステッド統合ランタイムがデータ移行サービスに接続するために必要です。
    パブリック クラウドに新しく作成されたデータ ファクトリの場合、セルフホステッド統合ランタイム キーから {datafactory}.{region}.datafactory.azure.net 形式の FQDN を見つけます。 古いデータ ファクトリで、セルフホステッド統合キーに FQDN が見つからない場合は、代わりに *.frontend.clouddatahub.net を使用してください。
    download.microsoft.com 443 セルフホステッド統合ランタイムが更新プログラムをダウンロードするために必要です。 自動更新を無効にしている場合は、このドメインの構成をスキップできます。
    *.core.windows.net 443 ネットワーク共有からデータベース バックアップをアップロードするために Azure ストレージ アカウントに接続するセルフホステッド統合ランタイムによって使用されます

    ヒント

    データベース バックアップ ファイルが Azure ストレージ アカウントで既に提供されている場合、移行プロセス中にセルフホステッド統合ランタイムは不要です。

  • セルフホステッド統合ランタイムを使用する場合は、ランタイムがインストールされているマシンが、ソース SQL Server インスタンスと、バックアップ ファイルがあるネットワーク ファイル共有に接続できることを確認します。 アウトバウンド ポート 445 を有効にして、ネットワーク ファイル共有へのアクセスを許可する必要があります。

  • Azure Database Migration Service を初めて使用する場合は、Microsoft.DataMigration リソース プロバイダーがサブスクリプションに登録されていることを確認します。 リソース プロバイダーを登録する手順に従ってください

データベースの移行にセルフホステッド統合ランタイムを使用する際の推奨事項

  • 複数のソース SQL Server データベースに対して、1 つのセルフホステッド統合ランタイムを使用します。
  • 1 台のマシンにはセルフホステッド統合ランタイムのインスタンスを 1 つだけインストールします。
  • 1 つの DMS にはセルフホステッド統合ランタイムを 1 つだけ関連付けます。
  • セルフホステッド統合ランタイムは、インストールされているマシン上のリソース (メモリや CPU) を使用します。 セルフホステッド統合ランタイムは、ソース SQL Server とは異なるマシンにインストールします。 しかし、セルフホステッド統合ランタイムをデータ ソースの近くに配置することにより、セルフホステッド統合ランタイムからデータ ソースへの接続時間が短縮されます。
  • セルフホステッド統合ランタイムは、データベース バックアップがオンプレミスの SMB ネットワーク共有にある場合にのみ使用します。 ソース データベース バックアップが既に Azure Storage BLOB コンテナーにある場合、データベースの移行にセルフホステッド統合ランタイムは不要です。
  • データベースの同時移行は、1 台のマシンのセルフホステッド統合ランタイムごとに最大 10 個にすることをお勧めします。 データベースの同時移行の数を増やすには、セルフホステッド ランタイムを最大 4 ノードにスケールアウトするか、マシンごとにセルフホステッド統合ランタイムを個別に作成します。
  • 自動更新するようにセルフホステッド統合ランタイムを構成して、リリースされた新機能、バグ修正、拡張機能を自動的に適用します。 詳細については、セルフホステッド統合ランタイムの自動更新に関する記事を参照してください。

Azure portal からデータベース移行の進行状況を監視する

Azure Data Studio 用の Azure SQL 移行拡張機能を使用してデータベースを移行する場合、移行はウィザードで選択された Azure Database Migration Service によって調整されます。 Azure portal からデータベース移行を監視するには、

  • Azure portal を開きます。
  • リソース名でお使いの Azure Database Migration Service を検索します。Search Azure Database Migration Service resource in portal
  • [概要] ページで [移行の監視] タイルを選び、データベースの移行の詳細を表示します。 Monitor migrations in Azure portal

既知の問題と制限事項

  • ターゲットの Azure SQL Managed Instance または Azure 仮想マシン上の SQL Server で DMS を使用して既存のデータベースを上書きする操作はサポートされていません。
  • ソース トポロジに合わせてターゲットで高可用性とディザスター リカバリーを構成することは、DMS ではサポートされていません。
  • 次のサーバー オブジェクトはサポートされていません。
    • Login
    • SQL Server エージェント ジョブ
    • 資格情報
    • SSIS パッケージ
    • サーバーの役割
    • サーバー監査
  • Azure Virtual Machines 上の SQL Server に移行する場合、SQL Server 2008 以前のバージョンは現在、サポート対象となっていません。
  • SQL Server 2012 または SQL Server 2014 を使用している場合は、ネットワーク共有オプションを使用する代わりに、ソース データベースのバックアップ ファイルを Azure Storage Blob コンテナーに格納する必要があります。 ブロック BLOB は SQL 2016 以降でのみサポートされているため、バックアップ ファイルをページ BLOB として格納します。
  • Azure SQL Database への移行はサポートされていません。
  • 特定のファイアウォール規則で保護されているか、プライベート エンドポイントが構成されている Azure ストレージ アカウントは、移行がサポートされていません。
  • DMS を使用したデータベースの移行には、Azure Data Factory から作成された既存のセルフホステッド統合ランタイムを使用することはできません。 最初は、Azure Data Studio の Azure SQL 移行拡張機能を使用してセルフホステッド統合ランタイムを作成する必要があります。これを今後のデータベース移行に再利用できます。

価格

  • Azure Database Migration Service は、Azure Data Studio の Azure SQL 移行拡張機能で無料で使用できます。 Azure Database Migration Service または Azure SQL 移行拡張機能を使用すると、無料でこのサービスを使用して複数の SQL Server データベースを移行できます。
  • オンプレミスから Azure にデータベースを移行する場合、データ移動やデータ イングレスのコストはかかりません。 ソース データベースを別のリージョンまたは Azure VM から移動する場合、帯域幅プロバイダーとルーティングのシナリオに基づいて帯域幅の料金が発生することがあります。
  • Azure Data Studio をインストールする独自のマシンまたはオンプレミス サーバーを用意します。
  • オンプレミスのネットワーク共有のデータベース バックアップにアクセスするには、セルフホステッド統合ランタイムが必要です。

リージョン別の提供状況

Azure Data Studio 用の Azure SQL 移行拡張機能 (Azure DMS を利用) を使用したデータベース移行がサポートされている Azure リージョンの一覧については、「リージョン別の利用可能な Azure 製品」を参照してください

次のステップ