SQL Server を Azure Arc に接続する

SQL Server 2022 (16.x) 以降では、新しい SQL Server インスタンスを Windows オペレーティング システムにインストールすると、それは Azure Arc に接続されます。 「SQL Server 2022 のインストール」をご覧ください。

以下の手順のようにすると、既存の SQL Server インスタンスを Azure Arc に接続できます。

前提条件

  • アクティブなサブスクリプションを含む Azure アカウントが必要です。 無料で作成できます

  • Microsoft.AzureArcDataMicrosoft.HybridCompute のリソース プロバイダーが登録されていること。

  • Arc 対応 SQL Server リソースをオンボードするユーザーには、次のアクセス許可が必要です。

    Microsoft.AzureArcData/sqlServerInstances/read

    Microsoft.AzureArcData/sqlServerInstances/write

ユーザーは、共同作成者や所有者などの権限を持つ組み込みロールに割り当てることができます。 詳細については、「Azure portal を使用して Azure ロールを割り当てる」を参照してください。

注意

Azure Arc 対応サーバー上の SQL Server では、SQL Server フェールオーバー クラスター インスタンスがサポートされません。

リソース プロバイダーを登録するには、次のいずれかの方法を使用します。

  1. [サブスクリプション] を選択します。
  2. サブスクリプションを選択します。
  3. [設定] で、[リソース プロバイダー] を選択します。
  4. Microsoft.AzureArcDataMicrosoft.HybridCompute を検索し、[登録] を選択します。

マシンが Arc 対応サーバーに既に接続されている場合

SQL Server のマシンが既に Azure Arc に接続されている場合は、"SQL Server 用 Azure 拡張機能" をインストールすることにより、SQL Server インスタンスを接続できます。 Azure Arc Server の SQL Server 拡張機能は、拡張機能マネージャーで SQL Server の拡張機能 - Azure Arc として見つけることができます。インストールされると、SQL Server 用の Azure 拡張機能によって、インストールされているすべての SQL Server インスタンスが認識され、Azure Arc と接続されます。拡張機能は継続的に実行され、SQL Server 構成の変更が検出されます。 たとえば、マシンに新しい SQL Server インスタンスがインストールされた場合、それは Azure Arc に自動的に登録されます。Azure portal、Azure PowerShell、または Azure CLI を使って Azure Connected Machine Agent に拡張機能をインストールしたり、それからアンインストールしたりする方法については、仮想マシン拡張機能の管理に関する記事をご覧ください。

重要

  • マシンにインストールされている SQL Server インスタンスを表す SQL Server - Azure Arc 種類の Azure リソースでは、Arc 対応サーバー用の Azure リソースと同じリージョンとリソース グループが使用されます。

SQL Server 用 Azure 拡張機能をインストールするには、次の手順のようにします。

  1. [Azure Arc] > [サーバー] リソースを開きます。
  2. Azure に接続する SQL Server インスタンスで接続されているサーバーを検索します。
  3. [拡張機能][+ 追加] を選択します。
  4. [Azure extension for SQL Server] を選択して、[次へ] をクリックします。
  5. このコンピューターで使用している SQL Server エディションとライセンスの種類を指定します。
  6. 登録から除外する SQL Server インスタンスを指定し (スキップするインスタンスが複数ある場合は、それぞれをスペースで区切ります)、[確認と作成] を選択します。 ライセンスの種類と除外インスタンスのスクリーンショット。
  7. [作成] を選択します

注意

指定するリソース グループは、対応する接続されたサーバーが登録されているリソース グループと一致する必要があります。 それ以外の場合、コマンドは失敗します。 1 つ

マシンが Arc 対応サーバーに接続されていない場合

SQL Server インスタンスを実行するサーバーがまだ Azure に接続されていない場合は、オンボード スクリプトを使ってターゲット マシンから接続を開始できます。 このスクリプトを実行すると、サーバーが Azure に接続され、SQL Server 用 Azure 拡張機能がインストールされます。

SQL Server 用のオンボード スクリプトを生成する

  1. [Azure Arc] > [SQL Server] に移動し、[+ 追加] を選択します。

    [作成の開始] ウィンドウのスクリーンショット。

  2. [SQL Server を Azure Arc に接続する] で、[サーバーの接続] を選択します

  3. 前提条件を確認し、[次へ: サーバーの詳細] を選択します

  4. 指定:

    • サブスクリプション
    • リソース グループ
    • リージョン
    • オペレーティング システム

    必要ならば、ネットワークでインターネットへの接続に使用するプロキシを指定します。

    サーバーの詳細のスクリーンショット。

  5. このコンピューターで使用している SQL Server エディションとライセンスの種類を選択します。 詳細をご覧ください:

  6. 登録から除外する SQL Server インスタンスを指定します (サーバーに複数のインスタンスがインストールされている場合)。 除外された各インスタンスをスペースで区切ります。

    重要

    SQL Server インスタンスをホストしているマシンが既に Azure Arc に接続されている場合は、必ず、対応するサーバー - Azure Arc リソースを含む同じリソース グループを選択してください。

    サーバー管理の詳細のスクリーンショット。

  7. [次へ: タグ] を選択して、必要に応じて、SQL Server インスタンスのリソースにタグを追加します。

  8. [スクリプトの実行] を選択して、オンボード スクリプトを生成します。 スクリーンショット

    ダウンロード スクリプトのスクリーンショット。

  9. [ダウンロード] を選択して、ご利用のマシンにスクリプトをダウンロードします。

SQL Server インスタンスを Azure Arc に接続する

このステップでは、Azure portal からダウンロードしたスクリプトを取得し、それをターゲット マシンで実行します。 このスクリプトにより、SQL Server 用 Azure 拡張機能がインストールされます。 マシン自体に Azure Connected Machine Agent がインストールされていない場合は、スクリプトによって最初にそれがインストールされてから、SQL Server 用 Azure 拡張機能がインストールされます。 Azure Connected Machine Agent は、接続されたサーバーを種類が Server - Azure Arc の Azure リソースとして登録し、SQL Server 用 Azure 拡張機能は、SQL Server インスタンスを種類が SQL Server - Azure Arc の Azure リソースとして接続します。

重要

必ず、「前提条件」で説明されている最小限のアクセス許可要件を満たすアカウントを使用して、スクリプトを実行してください。

  1. powershell.exe の管理者インスタンスを起動し、Azure の資格情報を使用して PowerShell モジュールにサインインします。 サインイン手順に従ってください。

  2. ダウンロードしたスクリプトを実行します。

    & '.\RegisterSqlServerArc.ps1'
    

    Note

    以前に Az PowerShell モジュールをインストールしたことがなく、初めて実行したときに問題が発生した場合は、スクリプトの指示に従って再度実行してください。

AzureExtensionForSQLServer.msi から SQL Server をデプロイする

代わりに、AzureExtensionForSQLServer.msi を直接使用して SQL Server を Azure Arc にオンボードすることもできます。 この方法は、SQL Server の Arc へのオンボードと、既存のデプロイ自動化ツールおよびサービスとを統合するのに役立ちます。

  1. リンクから AzureExtensionForSQLServer.msi をダウンロードします。

  2. AzureExtensionForSQLServer.msi をダブルクリックします。 これにより、SQL Server を Azure Arc にオンボードするために必要なパッケージがインストールされます。

  3. PowerShell コンソールを管理モードで開き、次のコマンドを実行します。

    Azure Active Directory サービス プリンシパルを使用して認証する場合は、ターゲット SQL Server で次のコマンドを実行します。

'& "$env:ProgramW6432\AzureExtensionForSQLServer\AzureExtensionForSQLServer.exe" --subId <subscriptionid> --resourceGroup <resourceGroupName> --location <AzureRegion> --tenantid <TenantId> --service-principal-app-id <servicePrincipalAppId> --service-principal-secret <servicePrincipalSecret> --proxy <proxy> --licenseType <licenseType> --excluded-SQL-instances <"MSSQLSERVER01 MSSQLSERVER02 MSSQLSERVER15">'

それ以外の場合は、ターゲット SQL Server で次のコマンドを実行します。

'& "$env:ProgramW6432\AzureExtensionForSQLServer\AzureExtensionForSQLServer.exe" --subId <subscriptionid> --resourceGroup <resourceGroupName> --location $location --tenantid <TenantId> --proxy <proxy> --licenseType <licenseType> --excluded-SQL-instances <"MSSQLSERVER01 MSSQLSERVER02 MSSQLSERVER15">'

重要

Microsoft Azure Arc 対応 SQL Server は、お客様またはお客様の会社の Microsoft Azure サービスのサブスクリプション ライセンスの一部としてライセンス供与されます。 お客様は、Microsoft Azure サービスでのみ本ソフトウェアを使用することができ、お客様が Microsoft Azure サービスを取得した際のご契約条件に従うものとします。 Microsoft Azure サービスのアクティブなサブスクリプション ライセンスをお持ちでない場合は、本ソフトウェアを使用することはできません。
Microsoft Azure の法的情報: Microsoft Azure の法的情報Microsoft プライバシーに関する声明

Arc 対応 SQL Server リソースを確認する

[Azure Arc] > [SQL Server] に移動し、新しく登録された Arc 対応 SQL Server リソースを開いて確認します。

接続された SQL サーバーの検証のスクリーンショット。

Arc 対応 SQL Server リソースを削除する

Arc 対応 SQL Server リソースを削除するには、[Azure Arc] > [SQL Server] に移動し、そのインスタンスの Arc 対応 SQL Server リソースを開いて、[削除] ボタンを選びます。

重要

同じマシンに複数の SQL Server インスタンスがインストールされている可能性があるため、[削除] ボタンを選んでもそのコンピューター上の SQL Server 用 Azure 拡張機能はアンインストールされません。 アンインストールするには、拡張機能のアンインストール手順に従います。

削除した Arc 対応 SQL Server リソースを復元する

Arc 対応 SQL Server リソースを誤って削除した場合は、次の手順に従って復元できます。

  1. また、SQL Server 拡張機能を誤ってアンインストールした場合は、再インストールします。 OS の正しいバージョンを選びます。

       az connectedmachine extension create --machine-name "{your machine name}" --location "{azure region}" --name "WindowsAgent.SqlServer" --resource-group "{your resource group name}" --type "{OS}Agent.SqlServer" --publisher "Microsoft.AzureData" --settings '{\"SqlManagement\":{\"IsEnabled\":true},  \"excludedSqlInstances\":[]}'
    

    重要

    場所プロパティは、--machine-name パラメーターで指定するサーバーの Arc 対応 SQL Server リソースの場所と一致する必要があります。

  2. インスタンスが除外リストに含まれていることを確認します (excludedSqlInstances プロパティの値を参照してください)。

        az connectedmachine extension show --machine-name "{your machine name}" --resource-group "{your resource group name}" -n WindowsAgent.SqlServer
    
  3. 必ず除外リストからインスタンスを削除し、拡張機能の設定を更新します。

        az connectedmachine extension create --machine-name "{your machine name}" --location "{azure region}" --name "WindowsAgent.SqlServer" --resource-group "{your resource group name}" --type "WindowsAgent.SqlServer" --publisher "Microsoft.AzureData" --settings '{\"SqlManagement\":{\"IsEnabled\":true},  \"excludedSqlInstances\":[\"{named instance 1}\",\"{named instance 3}}\"]}'
    

エージェントとの次の同期後に、インスタンスが復元されます。 ポータルまたは PowerShell を使用して VM 拡張機能を管理する方法については、仮想マシン拡張機能の管理に関するページを参照してください。

次のステップ