Azure Arc によって有効化された SQL Server を構成する

適用対象:SQL Server

各 Azure Arc 対応サーバーには、そのサーバーにインストールされているすべての SQL Server インスタンスに適用される一連のプロパティが含まれています。 これらのプロパティは、SQL Server 用 Azure 拡張機能がマシンにインストールされた後で構成できます。 ただし、このプロパティは、SQL Server インスタンスまたはインスタンスがインストールされている場合にのみ有効になります。 Azure portal では、Azure Arc によって有効化された SQL Server の [概要] に、SQL Server 構成が特定のインスタンスに与える影響が反映されます。

Azure portal の SQL Server 構成を使用すると、次の管理タスクを実行できます。

  1. SQL Server ライセンスの種類を構成する
  2. 拡張セキュリティ更新プログラムに登録する
  3. Azure Arc へのオンボードから SQL Server インスタンスを除外する

前提条件

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

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

ライセンスの種類

適用対象:SQL Server

SQL Server ライセンスの種類は、特定の仮想マシンまたは物理サーバー上の SQL Server インスタンスのライセンスの種類を識別します。 これには、従量課金制を使用して Microsoft Azure 経由で SQL ソフトウェアの使用料金を直接支払うオプションが含まれています。

Azure Extension for SQL Server をインストールするときは、ライセンスの種類は必須のパラメーターであり、サポートされる各オンボード メソッドには、ライセンスの種類のオプションが含まれています。 これにより、Azure Resource Graph を使用して、SQL Server ライセンス インベントリを追跡できます。 Cost Management + Billing ポータルでソフトウェアの使用状況を追跡することもできます。

利便性のため、Arc 対応の各 SQL Server リソースの [概要] には、[ホスト ライセンスの種類] の下にライセンスの種類が表示されます。

Note

SQL Server 2022 (16.x) では、セットアップ中に従量課金制の課金オプションなどのライセンスタイプを選択できます。 「インストール ウィザードから SQL Server 用 Azure 拡張機能をインストールする」をご覧ください。

次のライセンスの種類がサポートされています。

ライセンスの種類 長い説明 簡単な説明
PAYG Microsoft Azure を通じた従量課金制の課金を利用できる Standard または Enterprise Edition 従量課金制
有料 ソフトウェア アシュアランスまたは SQL サブスクリプション付きの Standard または Enterprise Edition ライセンス ソフトウェア アシュアランス付きのライセンス
LicenseOnly ソフトウェア アシュアランスなしの Developer、Evaluation、Express、Web、Standard、または Enterprise Edition ライセンスのみ ライセンスのみ
  • PAYG: Microsoft Azure を通じて SQL Server ソフトウェアの使用量に対して支払います。 「SQL Server の価格とライセンス」をご覧ください。

    重要

    Azure Arc によって有効化された SQL Server 従量課金制 (PAYG) は、SQL Server への柔軟なサブスクリプション ベースのアクセスを提供します。 PAYG を使用する SQL Server インスタンスを持つサーバーは、Azure に継続的に接続されている必要があります。 最大 30 日の接続の間欠的な中断は、組み込みの回復性で許容されます。 接続の中断が 30 日経過すると、PAYG サブスクリプションの有効期限が切れます。 サブスクリプションの有効期限が切れると、ソフトウェアの使用が承認されないことに注意してください。

  • PaidLicenseOnly: 既存のライセンス契約を使います。 使用とは、必要なライセンスが既にあることを意味します。 このような場合、ソフトウェアの使用状況は無料のメーターを使用して報告されます。 Cost Management + Billing ポータルで使用を分析して、インストールされているすべての SQL Server インスタンスに対して十分なライセンスがあることを確認できます。

次の表は、ライセンスの種類に応じて有効になる機能を示しています。

機能 ライセンスのみ 1 ソフトウェア アシュアランス付きのライセンス
または SQL サブスクリプション
従量課金制
Azure への接続 はい イエス はい
SQL Server インベントリ はい イエス はい
ベスト プラクティス評価 いいえ イエス はい
移行評価 (プレビュー) いいえ イエス はい
詳細なデータベース インベントリ いいえ イエス はい
Microsoft Entra ID 認証 はい イエス はい
Microsoft Defender for Cloud はい イエス はい
Microsoft Purview を通じて管理する はい イエス はい
ローカル記憶域への自動バックアップ機能 (プレビュー) いいえ イエス はい
ポイントインタイム リストア(プレビュー) いいえ イエス はい
自動修正 いいえ イエス はい
フェールオーバー クラスター インスタンス (プレビュー) はい イエス はい
Always On 可用性グループ(プレビュー) はい イエス はい
監視 (プレビュー) いいえ イエス はい
最小限の権限で操作する (プレビュー) はい イエス はい

1 ライセンスには、Developer、Express、Web、Evaluation Edition である SQL Server インスタンスと、サーバー/CAL ライセンスを使用するインスタンスのみが含まれます。

SQL Server ソフトウェアの請求

[ライセンスの種類] の値は、既に SQL Server ライセンスを所有しているか、従量課金制の方法で料金を支払うかを示します。 既にライセンスを持っている場合、または無料の SQL Server エディションを使用している場合は、ソフトウェアの使用状況は無料メーターを使用して報告されます。 従量課金制の方法を選択した場合は、0 以外の従量課金制メーターが使用されます。

課金の粒度は 1 時間です。 従量課金制の課金は、SQL Server Edition と、その時間内でのホスティング サーバーのサイズに基づいて計算されます。 サイズは、SQL Server インスタンスが物理サーバーにインストールされている場合はコアで測定され、SQL Server インスタンスが仮想マシンにインストールされている場合は論理コア (仮想コア) で測定されます。 SQL Server の複数のインスタンスが同じ OS にインストールされている場合は、次の規則が適用されます。

  • 最小コア サイズに応じて、ホストのフル サイズに対して OS ごとにライセンスを付与する必要があるインスタンスは 1 つのみです。 詳細については、SQL Server ライセンス ガイドを参照してください。 次の規則が適用されます。

  • エディションが最も高いインスタンスは、必要なライセンスを定義します。

  • 同じエディションのインスタンスが複数インストールされている場合、アルファベット順で最初のインスタンスが課金されます。

  • ホスト ライセンスの種類 と、受賞した SQL Server エディションの組み合わせによって、1 時間ごとに送信される課金メーターが定義されます。

次の表は、さまざまなライセンス タイプと SQL Server エディションに使用されるメーター SKU を示しています。

インストールされているエディション 予測エディション ライセンスの種類 AG レプリカ 測定 SKU
Enterprise Core Enterprise PAYG いいえ Ent Edition - PAYG
Enterprise Core Enterprise 有料 いいえ Ent Edition - AHB
Enterprise Core Enterprise LicenseOnly はい、いいえ Ent Edition - ライセンスのみ
Enterprise Core Enterprise PAYG または有料 はい Ent Edition - DR レプリカ
Enterprise 1 Enterprise PAYG いいえ Ent Edition - PAYG
Enterprise 1 Enterprise 有料 いいえ Ent Edition - AHB
Enterprise 1 Enterprise LicenseOnly はい、いいえ Ent Edition - ライセンスのみ
Enterprise 1 Enterprise PAYG または有料 はい Ent Edition - DR レプリカ
Standard Standard PAYG いいえ Std Edition - PAYG
Standard Standard 有料 いいえ Std Edition - AHB
Standard Standard LicenseOnly いいえ Std Edition - ライセンスのみ
Standard Standard PAYG または有料 はい Std Edition - DR レプリカ
評価 評価 LicenseOnly はい、いいえ Eval Edition
開発者 開発者 LicenseOnly はい、いいえ Dev Edition
Web Web LicenseOnly 該当なし Web Edition
Express Express LicenseOnly 該当なし Express Edition

1 Enterprise Edition をインストールすると、サーバー/CAL ライセンス モデルが使用されていることが示されます。 コア ベース ライセンス モデルへの変換では、Enterprise Core へのアップグレードは必要ないため、このエディションは Enterprise Core として扱われます。 コア ベースのモデルに変換されておらず、サーバー/CAL ライセンスを使用していないインスタンスは、ライセンスの種類を「LicenseOnly」に設定する必要があります。

課金の違いに加えて、ライセンスの種類によって、Arc 対応 SQL Server で使用できる機能が決まります。 LicenseOnly のライセンスが選択されている場合、次の機能は含まれていません。

  • フェールオーバー サーバーに対するライセンス特典。 SQL Server 用 Azure 拡張機能では、無料のフェールオーバー サーバーがサポートされています。 具体的には、拡張機能は次のとおりです。

    • インスタンスが可用性グループ内のレプリカをホストしているかどうかを自動的に検出する
    • 別のメーターを使用して使用状況を報告します。

    この特典の対象となるには、レプリカが完全にパッシブである必要があります。 すべてのデータベースが同じグループに含まれている必要があります。 1 つ以上のデータベースがグループに含まれていない場合、インスタンスはアクティブとして扱われ、そのエディションに基づいて課金されます。 詳細については、「SQL Server ライセンス ガイド」をご覧ください。

  • 詳細なデータベース インベントリ。 Azure portal で SQL データベース インベントリを管理できます。 詳細については、データベースの表示に関するページを参照してください。

  • Azure からの SQL Server の自動更新の管理。

  • ベスト プラクティス アセスメント。 SQL Server 構成を定期的にスキャンすることで、ベスト プラクティスのレポートと推奨事項を生成します。 「ベスト プラクティス アセスメントのための SQL Server インスタンスの構成」に関するページを参照してください。

拡張セキュリティ更新プログラムに登録する

拡張セキュリティ更新プログラム (ESU) は、ライセンスの種類としてソフトウェア アシュアランス付きライセンスまたは従量課金制を使用する、修飾された SQL Server インスタンスで使用できます。 ライセンス タイプがライセンスのみの場合、ESU サブスクリプションをアクティブ化するオプションは無効になります。 「SQL Server の拡張セキュリティ更新プログラム」を参照してください。

Note

ESU が有効になっている場合、ESU サブパーティションがキャンセルされるまで、ライセンスの種類LicenseOnly に変更できません。

インスタンスを除外する

Azure ポリシーまたは自動オンボード プロセスによって駆動される大規模なオンボード操作から、特定のインスタンスを除外できます。 これらの操作から特定のインスタンスを除外するには、インスタンス名を [インスタンスのスキップ] リストに追加します。 大規模なオンボード オプションの詳細については、「Azure Arc によって有効化された SQL Server の代替デプロイ オプション」を参照してください。

注意

従量課金制 (PAYG) を使用する SQL Server インスタンスは除外できません。

SQL Server 構成を設定する

Azure portal、PowerShell、または CLI を使用して、特定の Arc 対応サーバー上のすべての構成設定または一部の構成設定を目的の状態に変更できます。

リソース グループ、サブスクリプション、または複数のサブスクリプションなど、より大きな範囲の SQL Server 構成を 1 つのコマンドで変更するには、SQL Server 構成の変更 PowerShell スクリプトを使用します。 これはオープンソースの SQL Server サンプルとして公開されており、ステップ バイ ステップの手順が含まれています。

ヒント

必要な Azure PowerShell モジュールがプレインストールされていて、自動的に認証が行われるため、Azure Cloud Shell からスクリプトを実行します。 詳しくは、「Cloud Shell を使用したスクリプトの実行」をご覧ください。

Azure portal で SQL Server ホストを構成するには、2 つの方法があります。

  • Arc 対応サーバーの概要ページを開き、次のように [SQL Server の構成] を選択します。

    Screenshot of the SQL Server enabled by Azure Arc in Azure portal.

    または

  • Arc 対応 SQL Server の概要ページを開き、[プロパティ] を選択します。 [SQL Server 構成] で、変更する必要がある設定を選択します。

    • ライセンスの種類
    • ESU サブスクリプション
    • 自動修正

    Screenshot of Azure portal SQL Server instance configuration.

[ライセンスの種類]のプロパティを設定する

ライセンスの種類のいずれかを選びます。 説しくは、「ライセンスの種類」をご覧ください。

拡張セキュリティ更新プログラムのプロパティを設定する

ESU を有効または無効にすることができます。 この設定はオプションであり、SQL Server の認定されたバージョンにのみ適用されます。 詳細には、「SQL Server 用の拡張セキュリティ更新プログラムとは」を参照してください。

Note

ESU サブスクリプションをアクティブ化するには、ライセンスの種類を従量課金制またはソフトウェア アシュアランス付きライセンスに設定する必要があります。 [ライセンスのみ] に設定されている場合、[拡張セキュリティ更新プログラム] オプションは無効になります。

[インスタンスの除外] リストに追加する

Azure ポリシーまたは自動オンボーディング プロセスによる大規模なオンボーディング操作から特定のインスタンスを除外する場合は、[インスタンスのスキップ] の下にそれらのインスタンスを追加します。 この設定は省略可能です。

更新した構成を保存します。

ライセンスの種類、ESU の設定、除外するインスタンスを確認したら、[保存] を選んで変更を適用します。

SQL Server 構成のクエリ

Azure Resource Graph を使用して、選択したスコープ内の SQL Server 構成設定に対してクエリを実行できます。 次の例を参照してください。

ライセンスの種類別にカウントする

次の例は、ライセンスの種類別のカウントを返します。

resources
| where type == "microsoft.hybridcompute/machines/extensions"
| where properties.type in ("WindowsAgent.SqlServer","LinuxAgent.SqlServer")
| extend licenseType = iff(properties.settings.LicenseType == '', 'Configuration needed', properties.settings.LicenseType)
| summarize count() by tostring(licenseType)

ライセンスの種類が定義されていないインスタンスを特定する

次のクエリでは、ライセンスの種類が null のインスタンスの一覧を返します。

resources
| where type == "microsoft.hybridcompute/machines/extensions"
| where properties.type in ("WindowsAgent.SqlServer","LinuxAgent.SqlServer")
| where isnull(properties.settings.LicenseType)
| project ['id'], resourceGroup, subscriptionId

各 SQL Server インスタンスの構成の詳細をリストする

次のクエリでは、ライセンスの種類、ESU 設定や有効な機能など、各インスタンスに関する多くの詳細を特定できます。

resources
| where type == "microsoft.hybridcompute/machines"| where properties.detectedProperties.mssqldiscovered == "true"| extend machineIdHasSQLServerDiscovered = id
| project name, machineIdHasSQLServerDiscovered, resourceGroup, subscriptionId
| join kind= leftouter (
    resources
    | where type == "microsoft.hybridcompute/machines/extensions"    | where properties.type in ("WindowsAgent.SqlServer","LinuxAgent.SqlServer")
    | extend machineIdHasSQLServerExtensionInstalled = iff(id contains "/extensions/WindowsAgent.SqlServer" or id contains "/extensions/LinuxAgent.SqlServer", substring(id, 0, indexof(id, "/extensions/")), "")
    | project Extension_State = properties.provisioningState,
    License_Type = properties.settings.LicenseType,
    ESU = iff(notnull(properties.settings.enableExtendedSecurityUpdates), iff(properties.settings.enableExtendedSecurityUpdates == true,"enabled","disabled"), ""),
    Extension_Version = properties.instanceView.typeHandlerVersion,
    Excluded_instances = properties.ExcludedSqlInstances,
    Purview = iff(notnull(properties.settings.ExternalPolicyBasedAuthorization),"enabled",""),
    Entra = iff(notnull(properties.settings.AzureAD),"enabled",""),
    BPA = iff(notnull(properties.settings.AssessmentSettings),"enabled",""),
    machineIdHasSQLServerExtensionInstalled)on $left.machineIdHasSQLServerDiscovered == $right.machineIdHasSQLServerExtensionInstalled
| where isnotempty(machineIdHasSQLServerExtensionInstalled)
| project-away machineIdHasSQLServerDiscovered, machineIdHasSQLServerExtensionInstalled

SQL Server のインスタンスを使用して Arc 対応サーバーを一覧表示する

このクエリでは、SQL Server インスタンスが検出された Azure Arc 対応サーバーを識別します。

resources
| where type == "microsoft.hybridcompute/machines"
| where properties.detectedProperties.mssqldiscovered == "true"
//| summarize count()

このクエリでは、SQL Server インスタンスを持ち、かつ Arc SQL Server 拡張機能がインストールされていない Azure Arc 対応サーバーが返されます。 このクエリは Windows サーバーのみに適用されます。

resources
| where type == "microsoft.hybridcompute/machines"
| where properties.detectedProperties.mssqldiscovered == "true"
| project machineIdHasSQLServerDiscovered = id
| join kind= leftouter (
    resources
    | where type == "microsoft.hybridcompute/machines/extensions"
    | where properties.type == "WindowsAgent.SqlServer"
    | project machineIdHasSQLServerExtensionInstalled = substring(id, 0, indexof(id, "/extensions/WindowsAgent.SqlServer")))
on $left.machineIdHasSQLServerDiscovered == $right.machineIdHasSQLServerExtensionInstalled
| where isempty(machineIdHasSQLServerExtensionInstalled)
| project machineIdHasSQLServerDiscoveredButNotTheExtension = machineIdHasSQLServerDiscovered

Azure Resource Graph クエリのその他の例については、Resource Graph の初歩的なクエリに関する記事を参照してください。