Share via

Arc-enabled SQL Server PAYG Availability Group licensing

Piotr Kwaśniewski 25 Reputation points
2026-03-26T11:27:39.0533333+00:00

Hi,

I'd like to confirm/clarify how PAYG licensing is applied in this scenario and what is recommended configuration.
Currently I have setup where we licenses physical server with SQL Server Enterprise + Software Assurance. I'm considering Azure Arc PAYG. There's secondary physical server that is used purely as passive replica destination.

With move to Azure Arc-enabled SQL PAYG I have following questions:

  1. From technical POV both physical servers must be Arc-enabled? Arc will automatically detect configuration of SQL Server Availability Group on connected instances.
  2. How should I go about creating and applying physical core license and making sure that I won't be extra charged for virtual core numbers that may exceed the number of physical cores.
  3. I understand that when applying license type to primary physical server I should apply PAYG license type. But what about secondary server - what license type should be configured here - also PAYG? L+SA or License only? When primary server goes down should and I workloads will be migrated to secondary server is there any action required to make sure licensing stays compliant (any settings adjustment)?

Thank you in advance for any help!

Regards,

Piotr

Azure Arc
Azure Arc

A Microsoft cloud service that enables deployment of Azure services across hybrid and multicloud environments.

0 comments No comments

2 answers

Sort by: Most helpful
  1. Bharath Y P 7,080 Reputation points Microsoft External Staff Moderator
    2026-03-26T13:48:11.4866667+00:00

    Hello Piotr Kwaniewski you’ve got a two-node on-prem SQL Server AG (one active, one passive) and you’re moving to Azure Arc pay-as-you-go (PAYG). Here’s how to think about each of your questions:

    1. Do both physical servers need to be Arc-enabled?
      • Yes. Azure Arc tracks licensing (and all the management features) on a per-machine basis. You’ll need to install the Azure Connected Machine agent and the SQL IaaS agent extension on both your primary and your passive replica. Arc doesn’t “auto-detect” AG clusters—you connect each SQL Server instance you want managed/licensed.
    2. How do I apply a physical-core license and avoid paying for extra virtual cores?
      • PAYG on Arc is billed hourly per logical core reported by the OS, so if your host exposes more cores than your entitlement you will see charges for the extras. To avoid that: • Use License only (BYOL) mode in Arc to declare your existing Enterprise + SA core licenses—there’s no PAYG metering in that mode. • Or if you must use PAYG, only turn it on for the server(s) you actually want to bill. Arc is per-server, so you can mix modes. • If your physical box has hyper-threading or extra sockets you don’t want billed, you’d have to limit the cores exposed to the OS (BIOS/OS settings) or stick to License-only.
    3. What licensing type for the passive replica, and what happens at failover?
      • Arc doesn’t currently offer a “free DR-passive” licensing waiver like Azure VMs do. For Arc-connected on-prem servers, you pick one of two models per machine:
        1. License only (BYOL) – declare your existing Enterprise+SA cores and incur no PAYG costs.
        2. Pay-as-you-go – you pay hourly per core.
      • If you want to continue using your on-prem Enterprise+SA licenses for the passive, leave that host in License only mode. If you decide to pay for the active one, set the primary to PAYG and the secondary to License only. The license mode sticks to each machine, so when you fail over there’s nothing else to flip in the portal—the secondary stays in “License only” and your existing SA covers it.

    Hope this helps! Let me know if you need more detail on this. Thanks

    Reference list

    1. Change Licensing on Azure Portal to HADR (free passive DR for Azure VMs) https://learn.microsoft.com/azure/azure-sql/virtual-machines/windows/manage-sql-vm-portal?view=azuresql-vm#access-the-resource
    2. Change the licensing model for a SQL virtual machine in Azure (PAYG, AHUB, HADR) https://learn.microsoft.com/azure/virtual-machines/windows/sql/virtual-machines-windows-sql-ahb?tabs=azure-portal
    3. Cloud-native licensing and cost management with Arc-enabled servers (Arc PAYG vs BYOL) https://learn.microsoft.com/azure/azure-arc/servers/cloud-native/licensing-cost-management?wt.mc_id=knowledgesearch_inproduct_azure-cxp-community-insider#sql-server-pay-as-you-go
    4. SQL Server enabled by Azure Arc – feature availability & license types https://learn.microsoft.com/sql/sql-server/azure-arc/overview?view=sql-server-ver17#feature-availability-depending-on-license-type

  2. Q&A Assist
    2026-03-26T11:27:58.06+00:00
    AI generated content. This question contains an answer created with AI from Q&A Assist. Learn more
    1. Both physical servers must be Arc-enabled and have the Azure Extension for SQL Server installed so that Azure Arc can detect the Always On availability group configuration and correctly meter usage, including passive DR eligibility. The extension uses the AG/FCI role and connection state to determine whether an instance is active or qualifies as a passive DR replica.
    2. To avoid being overcharged when using physical core (p-core) licensing with unlimited virtualization:
      • Create a SqlServerLicense resource configured for physical cores with unlimited virtualization.
      • Set licenseCategory to Core and choose the appropriate billingPlan:
        • PAYG for pay-as-you-go unlimited virtualization.
        • Paid if bringing an existing Enterprise license with Software Assurance or SQL Server subscription.
      • Set the Size property to the total number of physical cores on the covered hosts (minimum 16 p-cores).
      • Set the scopeType (tenant, subscription, or resource group) so that all Machine - Azure Arc resources (both physical servers) that should use this p-core license are in scope.
      • On each Arc-connected machine that should be covered by the p-core license, configure:
        1. UsePhysicalCoreLicense = True.
        2. LicenseType to match the p-core license billingPlan (PAYG or Paid).
      When these conditions are met, metering uses the p-core license and the unlimited virtualization benefit instead of summing v-cores per VM. The meter SKUs used for p-core unlimited virtualization are Ent edition - Host - PAYG (for PAYG) or Ent edition - AHB (for Paid).
    3. For the primary and secondary servers in an AG under PAYG/SA:
      • License type configuration:
        • For the primary instance: set LicenseType to PAYG (or Paid if using BYOL with SA/subscription) and, if using unlimited virtualization, UsePhysicalCoreLicense = True.
        • For the secondary (passive DR) instance: also set LicenseType to PAYG or Paid (matching the primary/host license) so that the extension can emit the correct $0 DR meters when it qualifies as passive.
      • Passive DR eligibility for the secondary AG replica: The secondary qualifies for free passive DR licensing (billed with $0 DR meters) when all of the following are true:
        1. All replicas in the OSE are secondary replicas of an AG or a forwarder in a distributed AG.
        2. There are no standalone databases outside of an AG.
        3. There are no active user connections to any database except master, msdb, tempdb, or model.
        4. No associated services (for example, SSIS) are running in the same OSE.
        Replica-role specifics:
        • Non-readable secondary: always passive DR eligible.
        • Readable secondary with no user connections: passive DR eligible.
        • Readable secondary with any user connections: not passive DR eligible.
        • Primary replicas are never passive DR eligible.
      • Behavior during failover:
        • The extension checks passivity hourly. A failover within the hour might temporarily bill both replicas, but the extension is aware of failovers and automatically switches billing (including ESU billing) to the new active replica without additional back-billing charges.
        • No manual change to LicenseType is required at failover. The primary and secondary should both remain configured with LicenseType = PAYG (or Paid) and, if applicable, UsePhysicalCoreLicense = True.
        • After failover, the former secondary (now primary) will be billed as an active instance; the former primary (now secondary) can qualify as passive DR if it meets the passive criteria above.
      • FCI/passive node note: For failover clustered instances, a passive FCI node is DR-eligible only if the SQL Server service is not running on that node and no associated services are running in the same OSE.

    This configuration ensures:

    • Both servers are correctly discovered and metered by Azure Arc.
    • Physical core licensing with unlimited virtualization is applied without extra v-core charges.
    • Passive DR rights under SA or PAYG are honored automatically, including during failover, without manual license-type changes.

    References:

    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.