チュートリアル: DMS を使用して SQL Server を Azure SQL Database Managed Instance にオンラインで移行するTutorial: Migrate SQL Server to Azure SQL Database Managed Instance online using DMS

Azure Database Migration Service を使用すれば、オンプレミスの SQL Server インスタンスから Azure SQL Database Managed Instance に、最小限のダウンタイムでデータベースを移行できます。You can use the Azure Database Migration Service to migrate the databases from an on-premises SQL Server instance to an Azure SQL Database Managed Instance with minimal downtime. 一定の手作業が必要になる可能性のあるその他の方法については、記事「Azure SQL Database Managed Instance への SQL Server インスタンスの移行」を参照してください。For additional methods that may require some manual effort, see the article SQL Server instance migration to Azure SQL Database Managed Instance.

重要

SQL Server から Azure SQL Database Managed Instance へのオンライン移行プロジェクトはプレビュー段階であり、Microsoft Azure プレビューの補足利用規約の対象です。Online migration projects from SQL Server to Azure SQL Database Managed Instance are in preview and subject to the Supplemental Terms of Use for Microsoft Azure Previews.

このチュートリアルでは、Azure Database Migration Service を使用して、SQL Server のオンプレミスのインスタンスから Azure SQL Database Managed Instance に、最小限のダウンタイムで Adventureworks2012 データベースを移行します。In this tutorial, you migrate the Adventureworks2012 database from an on-premises instance of SQL Server to an Azure SQL Database Managed Instance with minimal downtime by using the Azure Database Migration Service.

このチュートリアルでは、以下の内容を学習します。In this tutorial, you learn how to:

  • Azure Database Migration Service のインスタンスを作成する。Create an instance of the Azure Database Migration Service.
  • Azure Database Migration Service を使用して、移行プロジェクトを作成し、オンライン移行を開始する。Create a migration project and start online migration by using the Azure Database Migration Service.
  • 移行を監視する。Monitor the migration.
  • 準備が整ったら、移行をカットオーバーする。Cutover the migration when you are ready.

ヒント

Azure Database Migration Service を使用してデータベースを Azure に移行する場合、オフラインまたはオンライン移行を実行できます。When you migrate databases to Azure by using Azure Database Migration Service, you can do an offline or an online migration. オフライン移行では、アプリケーションのダウンタイムが、移行の開始時に開始されます。With an offline migration, application downtime starts when the migration starts. オンライン移行では、ダウンタイムが移行の最後の切り替え時だけに限定されます。With an online migration, downtime is limited to the time to cut over at the end of migration. オフライン移行をテストして、ダウンタイムが許容可能かどうかを判断することをお勧めします。許容できない場合は、オンライン移行を行います。We suggest that you test an offline migration to determine whether the downtime is acceptable; if not, do an online migration.

この記事では、SQL Server から Azure SQL Database Managed Instance へのオンライン移行について説明します。This article describes an online migration from SQL Server to Azure SQL Database Managed Instance. オフライン移行については、「DMS を使用して、SQL Server を Azure SQL Database Managed Instance にオフラインで移行する」を参照してください。For an offline migration, see Migrate SQL Server to Azure SQL Database Managed Instance offline using DMS.

前提条件Prerequisites

このチュートリアルを完了するには、以下を実行する必要があります。To complete this tutorial, you need to:

  • Azure Resource Manager デプロイ モデルを使用して、Azure Database Migration Service 用の VNET を作成します。これで、ExpressRoute または VPN を使用したオンプレミスのソース サーバーとのサイト間接続を確立します。Create a VNET for the Azure Database Migration Service by using the Azure Resource Manager deployment model, which provides site-to-site connectivity to your on-premises source servers by using either ExpressRoute or VPN. Azure Database Migration Service を使用して Azure SQL DB Managed Instance を移行するためのネットワーク トポロジを学習しますLearn network topologies for Azure SQL DB Managed Instance migrations using the Azure Database Migration Service.
  • Azure Virtual Network (VNET) のネットワーク セキュリティ グループの規則によって、通信ポート 443、53、9354、445、12000 がブロックされていないことを確認します。Ensure that your Azure Virtual Network (VNET) Network Security Group rules don't block the following communication ports 443, 53, 9354, 445, 12000. Azure VNET NSG トラフィックのフィルター処理の詳細については、「ネットワーク セキュリティ グループによるネットワーク トラフィックのフィルタリング」を参照してください。For more detail on Azure VNET NSG traffic filtering, see the article Filter network traffic with network security groups.
  • ソース データベース エンジンへのアクセスのために Windows ファイアウォールを構成します。Configure your Windows Firewall for source database engine access.
  • Azure Database Migration Service がソースの SQL Server にアクセスできるように Windows ファイアウォールを開きます。既定では TCP ポート 1433 が使用されます。Open your Windows Firewall to allow the Azure Database Migration Service to access the source SQL Server, which by default is TCP port 1433.
  • 動的ポートを使用して複数の名前付き SQL Server インスタンスを実行している場合は、SQL Browser サービスを有効にし、ファイアウォール経由の UDP ポート 1434 へのアクセスを許可することをお勧めします。これにより、Azure Database Migration Service はソース サーバー上の名前付きインスタンスに接続できるようになります。If you're running multiple named SQL Server instances using dynamic ports, you may wish to enable the SQL Browser Service and allow access to UDP port 1434 through your firewalls so that the Azure Database Migration Service can connect to a named instance on your source server.
  • ソース データベースの前でファイアウォール アプライアンスを使用する場合は、Azure Database Migration Service が移行のためにソース データベースにアクセスし、SMB ポート 445 経由でファイルにアクセスできるように、ファイアウォール規則を追加することが必要な場合があります。If you're using a firewall appliance in front of your source databases, you may need to add firewall rules to allow the Azure Database Migration Service to access the source database(s) for migration, as well as files via SMB port 445.
  • Azure SQL Database マネージド インスタンスを作成します。手順の詳細については、「Create an Azure SQL Database Managed Instance in the Azure portal」 (Azure Portal で Azure SQL Database マネージド インスタンスを作成する) を参照してください。Create an Azure SQL Database Managed Instance by following the detail in the article Create an Azure SQL Database Managed Instance in the Azure portal.
  • ソース SQL Server への接続と、ターゲットのマネージド インスタンスに使用するログインが sysadmin サーバー ロールのメンバーであることを確認してください。Ensure that the logins used to connect the source SQL Server and target Managed Instance are members of the sysadmin server role.
  • Azure Database Migration Service がデータベースの移行に使用できる、すべてのデータベースの完全なデータベース バックアップ ファイルと、その後のトランザクション ログのバックアップ ファイルを収納する SMB ネットワーク共有を提供します。Provide an SMB network share that contains all your database full database backup files and subsequent transaction log backup files the Azure Database Migration Service can use for database migration.
  • 作成したネットワーク共有に対して、ソース SQL Server インスタンスを実行しているサービス アカウントが書き込み特権を持っていること、およびソース サーバーのコンピューター アカウントが読み取り/書き込みアクセス権を持っていることを確認します。Ensure that the service account running the source SQL Server instance has write privileges on the network share that you created and that the computer account for the source server has read/write access to the same share.
  • 作成したネットワーク共有に対するフル コントロール権限を持つ Windows ユーザー (とパスワード) をメモしておきます。Make a note of a Windows user (and password) that has full control privilege on the network share that you previously created. Azure Database Migration Service は、ユーザーの資格情報を借用して、復元操作のために、Azure ストレージ コンテナーにバックアップ ファイルをアップロードします。The Azure Database Migration Service impersonates the user credential to upload the backup files to Azure storage container for restore operation.
  • Azure Active Directory のアプリケーション ID を作成します。これは、DMS サービスがターゲットの Azure SQL Database Managed Instance と Azure Storage Container に接続するために使用できる、アプリケーション ID キーを生成します。Create an Azure Active Directory Application ID that generates the Application ID key that DMS Service can use to connect to target Azure Database Managed Instance and Azure Storage Container. 詳細については、ポータルを使用した、リソースにアクセスできる Azure Active Directory アプリケーションとサービス プリンシパルの作成に関する記事を参照してください。For more information, see the article Use portal to create an Azure Active Directory application and service principal that can access resources.
  • DMS サービスがデータベース バックアップ ファイルをアップロードしてデータベースの移行に使用できるように、標準パフォーマンス レベルと Azure Storage Account のメモを作成します。Create or make a note of Standard Performance tier, Azure Storage Account, that allows DMS service to upload the database backup files to and use for migrating databases. 作成された DMS サービスと同じ地域で、Azure Storage Account を確実に作成します。Make sure to create the Azure Storage Account in the same region as the DMS service created.

Microsoft.DataMigration リソース プロバイダーを登録するRegister the Microsoft.DataMigration resource provider

  1. Azure portal にサインインし、[すべてのサービス] を選択し、[サブスクリプション] を選択します。Sign in to the Azure portal, select All services, and then select Subscriptions.

    ポータルのサブスクリプションの表示

  2. Azure Database Migration Service のインスタンスを作成するサブスクリプションを選択して、[リソース プロバイダー] を選択します。Select the subscription in which you want to create the instance of the Azure Database Migration Service, and then select Resource providers.

    リソース プロバイダーの表示

  3. 移行を検索し、Microsoft.DataMigration の右側にある [登録] を選択します。Search for migration, and then to the right of Microsoft.DataMigration, select Register.

    リソース プロバイダーの登録

Azure Database Migration Service インスタンスを作成するCreate an Azure Database Migration Service instance

  1. Azure portal で [+ リソースの作成] を選択し、Azure Database Migration Service を検索して、ドロップダウン リストから [Azure Database Migration Service] を選択します。In the Azure portal, select + Create a resource, search for Azure Database Migration Service, and then select Azure Database Migration Service from the drop-down list.

    Azure Marketplace

  2. [Azure Database Migration Service] 画面で、[作成] を選択します。On the Azure Database Migration Service screen, select Create.

    Azure Database Migration Service インスタンスを作成する

  3. [移行サービスの作成] 画面で、サービスの名前、サブスクリプション、新規または既存のリソース グループを指定します。On the Create Migration Service screen, specify a name for the service, the subscription, and a new or existing resource group.

  4. DMS のインスタンスの作成先となる場所を選択します。Select the location in which you want to create the instance of DMS.

  5. 既存の仮想ネットワーク (VNET) を選択するか、新たに VNET を作成します。Select an existing virtual network (VNET) or create one.

    この VNET が Azure Database Migration Service に、ソース SQL Server とターゲット Azure SQL Database Managed Instance へのアクセスを提供します。The VNET provides the Azure Database Migration Service with access to the source SQL Server and target Azure SQL Database Managed Instance.

    Azure portal で VNET を作成する方法の詳細については、Azure portal を使用した仮想ネットワークの作成に関する記事を参照してください。For more information on how to create a VNET in Azure portal, see the article Create a virtual network using the Azure portal.

    その他の詳細については、記事「Azure Database Migration Service を使用して Azure SQL DB Managed Instance を移行するためのネットワーク トポロジ」を参照してください。For additional detail, see the article Network topologies for Azure SQL DB Managed Instance migrations using the Azure Database Migration Service.

  6. "Business Critical (プレビュー)" の価格レベルから SKU を選択します。Select a SKU from “Business Critical (Preview)” pricing tier.

    注意

    オンライン移行は、"Business Critical (プレビュー)" のレベルを使用している場合にのみサポートされます。Online migrations are supported only when using the “Business Critical (Preview)" tier.

    コストと価格レベルの詳細については、価格に関するページを参照してください。For more information on costs and pricing tiers, see the pricing page.

    DMS サービスを作成する

  7. [作成] を選択して、サービスを作成します。Select Create to create the service.

移行プロジェクトを作成するCreate a migration project

サービスのインスタンスが作成されたら、Azure portal 内でそのサービスを探して開き、新しい移行プロジェクトを作成します。After an instance of the service is created, locate it within the Azure portal, open it, and then create a new migration project.

  1. Azure ポータルで、[All services](すべてのサービス) を選択し、Azure Database Migration Service を検索して、Azure Database Migration Service を選択します。In the Azure portal, select All services, search for Azure Database Migration Service, and then select Azure Database Migration Services.

    Azure Database Migration Service のすべてのインスタンスを検索する

  2. [Azure Database Migration Service] 画面で、作成したインスタンスの名前を検索して、そのインスタンスを選択します。On the Azure Database Migration Service screen, search for the name of the instance that you created, and then select the instance.

  3. [+ 新しい移行プロジェクト] を選択します。Select + New Migration Project.

  4. [新しい移行プロジェクト] 画面でプロジェクトの名前を指定し、[ソース サーバーの種類] テキスト ボックスで [SQL Server] を選択し、[ターゲット サーバーの種類] テキスト ボックスで [Azure SQL Database Managed Instance] を選択したら、[アクティビティの種類の選択][オンライン データの移行 (プレビュー)] を選択します。On the New migration project screen, specify a name for the project, in the Source server type text box, select SQL Server, in the Target server type text box, select Azure SQL Database Managed Instance, and then for Choose type of activity, select Online data migration (preview).

    DMS のプロジェクトを作成する

  5. [アクティビティの作成と実行] を選択してプロジェクトを作成ます。Select Create and run activity to create the project.

ソース詳細を指定するSpecify source details

  1. [移行ソースの詳細] 画面で、ソース SQL Server の接続の詳細を指定します。On the Migration source detail screen, specify the connection details for the source SQL Server.

  2. 信頼できる証明書をサーバーにインストールしていない場合は、[サーバー証明書を信頼する] チェック ボックスをオンにします。If you haven't installed a trusted certificate on your server, select the Trust server certificate check box.

    信頼できる証明書がインストールされていない場合、SQL Server はインスタンスの開始時に自己署名証明書を生成します。When a trusted certificate isn't installed, SQL Server generates a self-signed certificate when the instance is started. この証明書は、クライアント接続の資格情報の暗号化に使用されます。This certificate is used to encrypt the credentials for client connections.

    注意事項

    自己署名証明書を使用して暗号化されている SSL 接続のセキュリティは強力ではありません。SSL connections that are encrypted using a self-signed certificate does not provide strong security. man-in-the-middle (中間者) 攻撃を受ける可能性が高くなります。They are susceptible to man-in-the-middle attacks. 運用環境や、インターネットに接続されているサーバーでは、自己署名証明書を使用した SSL を信頼しないでください。You should not rely on SSL using self-signed certificates in a production environment or on servers that are connected to the internet.

    ソースの詳細

  3. [保存] を選択します。Select Save.

ターゲット詳細を指定するSpecify target details

  1. [移行ターゲットの詳細] 画面で アプリケーション IDキーを指定します。DMS インスタンスは、これらを使用することで、Azure SQL Database Managed Instance と Azure Storage Account のターゲット インスタンスに接続できます。On the Migration target details screen, specify the Application ID and Key that the DMS instance can use to connect to the target instance of Azure SQL Database Managed Instance and the Azure Storage Account.

    詳細については、ポータルを使用した、リソースにアクセスできる Azure Active Directory アプリケーションとサービス プリンシパルの作成に関する記事を参照してください。For more information, see the article Use portal to create an Azure Active Directory application and service principal that can access resources.

  2. Azure SQL Database Managed Instance のターゲット インスタンスを収納するサブスクリプションを選択したら、そのターゲット インスタンスを選択します。Select the Subscription containing the target instance of Azure SQL Database Managed Instance, and then select the target instance.

    Azure SQL Database Managed Instance のプロビジョニングがまだ済んでいない場合は、インスタンスのプロビジョニングに役立つリンクを選択します。If you haven't already provisioned the Azure SQL Database Managed Instance, select the link to help you provision the instance. Azure SQL Database Managed Instance のインスタンスが準備できたら、この特定のプロジェクトに戻って移行を実行します。When the instance of Azure SQL Database Managed Instance is ready, return to this specific project to execute the migration.

  3. SQL ユーザーパスワードを提示して、Azure SQL Database Managed Instance のターゲット インスタンスに接続します。Provide SQL User and Password to connect to target instance of Azure SQL Database Managed Instance.

    ターゲットを選択する

  4. [保存] を選択します。Select Save.

ソース データベースを選択するSelect source databases

  1. [ソース データベースの選択] 画面で、移行するソース データベースを選択します。On the Select source databases screen, select the source database that you want to migrate.

    ソース データベースを選択する

  2. [保存] を選択します。Select Save.

移行の設定の構成Configure migration settings

  1. [移行の設定の構成] 画面で、次の情報を入力します。On the Configure migration settings screen, provide the following detail:

    SMB ネットワーク場所の共有SMB Network location share Azure Database Migration Service が移行に使用できる、完全なデータベース バックアップ ファイルとトランザクション ログのバックアップ ファイルを収納する、ローカルな SMB ネットワーク共有です。The local SMB network share that contains the Full database backup files and transaction log backup files that the Azure Database Migration Service can use for migration. ソースの SQL Server インスタンスを実行しているサービス アカウントには、このネットワーク共有での読み取り/書き込み権限がなければなりません。The service account running the source SQL Server instance must have read\write privileges on this network share. たとえば、ネットワーク共有のサーバーの FQDN または IP アドレスを "\\servername.domainname.com\backupfolder" または "\\IP address\backupfolder" と指定します。Provide an FQDN or IP addresses of the server in the network share, for example, '\\servername.domainname.com\backupfolder' or '\\IP address\backupfolder'.
    ユーザー名User name 上で指定したネットワーク共有に対するフル コントロール権限が Windows ユーザーにあることを確認してください。Make sure that the Windows user has full control privilege on the network share that you provided above. Azure Database Migration Service は、ユーザーの資格情報を借用して、復元操作のために、Azure ストレージ コンテナーにバックアップ ファイルをアップロードします。The Azure Database Migration Service will impersonate the user credential to upload the backup files to Azure storage container for restore operation.
    パスワードPassword ユーザーのパスワード。Password for the user.
    Azure Storage Account のサブスクリプションSubscription of the Azure Storage Account Azure Storage Account を収納するサブスクリプションを選択します。Select the subscription that contains the Azure Storage Account.
    Azure Storage アカウントAzure Storage Account DMS が SMB ネットワーク共有からバックアップ ファイルをアップロードして、データベース移行に使用できるように、Azure Storage Account を選択します。Select the Azure Storage Account that DMS can upload the backup files from the SMB network share to and use for database migration. 最適なファイル アップロードのパフォーマンスを得るには、DMS サービスと同じ地域にある Storage Account を選択することをお勧めします。We recommend selecting the Storage Account in the same region as the DMS service for optimal file upload performance.

    移行設定の構成

  2. [保存] を選択します。Select Save.

移行の概要を確認するReview the migration summary

  1. [Migration summary](移行の概要) 画面の [アクティビティ名] ボックスに移行アクティビティの名前を指定します。On the Migration summary screen, in the Activity name text box, specify a name for the migration activity.

  2. 移行プロジェクトに関連付けられた詳細を確認します。Review and verify the details associated with the migration project.

    移行プロジェクトの概要

移行を実行して監視するRun and monitor the migration

  1. [移行の実行] を選択します。Select Run migration.

  2. 移行アクティビティ画面で、[更新] を選択して表示を更新します。On the migration activity screen, select Refresh to update the display.

    進行中の移行アクティビティ

    データベースとログインのカテゴリを展開して、該当するサーバー オブジェクトの移行状態を監視できます。You can further expand the databases and logins categories to monitor the migration status of the respective server objects.

    進行中の移行アクティビティ

移行カットオーバーの実行Performing migration cutover

Azure SQL Database Managed Instance のターゲット インスタンスで完全なデータベース バックアップが復元されたら、データベースは移行カットオーバーを実行するために使用できます。After the full database backup is restored on the target instance of Azure SQL Database Managed Instance, the database is available for performing a migration cutover.

  1. オンライン データベースの移行を完了する準備が整ったら、[カットオーバーの開始] を選択します。When you're ready to complete the online database migration, select Start Cutover.

  2. ソース データベースへの着信トラフィックをすべて停止します。Stop all the incoming traffic to source databases.

  3. [ログ末尾のバックアップ] を採用し、バックアップ ファイルを SMB ネットワーク共有で使用できるようにしたら、この最後のトランザクション ログのバックアップが復元されるまで待機します。Take the [tail-log backup], make the backup file available in the SMB network share, and then wait until this final transaction log backup is restored.

    その時点で、[保留中の変更] が 0 に設定されたことがわかります。At that point, you'll see Pending changes set to 0.

  4. [確認] を選択したら、[適用] を選択します。Select Confirm, and then select Apply.

    カットオーバー完了の準備

  5. データベース移行の状態が [完了] と表示されたら、Azure SQL Database Managed Instance の新しいターゲット インスタンスにアプリケーションを接続します。When the database migration status shows Completed, connect your applications to the new target instance of Azure SQL Database Managed Instance.

    カットオーバー完了

次の手順Next steps