Because multiple sizes and regions already return NotAvailableForSubscription, inspect the subscription-specific SKU restrictions and then submit a Service and subscription limits (quotas) support request if no unrestricted VM SKU exists.
1. Identify whether any VM SKU is enabled
Run the following for each tested region. The --all option is essential because it includes SKUs restricted for the current subscription.^1^
az account set --subscription "Azure subscription 1"
for region in northeurope qatarcentral westus; do
echo "===== $region ====="
az vm list-skus \
--location "$region" \
--resource-type virtualMachines \
--all \
--query "[].{Size:name,Restriction:restrictions[0].reasonCode}" \
--output table
done
Interpret the results:
- Blank/None restriction: that SKU is eligible for the subscription in that region. Before deploying it, check quota as described below.
-
NotAvailableForSubscription: the SKU is restricted for this subscription in that location or zone. A numeric quota increase by itself might not remove this restriction.
- Every VM SKU restricted in several regions: this requires Microsoft to review subscription/Compute eligibility; it cannot be resolved through Owner RBAC permissions.
For complete evidence, export the Compute SKU response:
az rest --method get \
--uri "https://management.azure.com/subscriptions/[Subscription ID](az account show --query id -o tsv)/providers/Microsoft.Compute/skus?api-version=2021-07-01" \
--output-file sku-list.json
This response contains the locations and restriction reason codes evaluated for the selected subscription.^1^
2. Determine whether a quota request is actually needed
Quota and SKU eligibility are separate checks. Azure VM quota has two relevant tiers per subscription and region:
- Total Regional vCPUs
- VM-family vCPUs, such as D-series vCPUs
A deployment must fit under both limits.^2^
az vm list-usage --location northeurope --output table
az vm list-usage --location qatarcentral --output table
az vm list-usage --location westus --output table
- If an otherwise unrestricted SKU has insufficient regional or family vCPU quota, go to Azure portal → Quotas → Compute → My quotas, filter by region and family, select the quota, and choose New Quota Request.^3^
- If quota is available but the SKU still reports
NotAvailableForSubscription, request SKU/region enablement rather than only a higher numeric limit.
- If a quota is marked non-adjustable or unavailable for increase, use its support icon or Create a support request. Non-adjustable limits require support review.^4^
3. Open the correct support request
In the Azure portal:
- Open Help + support → Create a support request.
- Set Issue type to Service and subscription limits (quotas).
- Select Azure subscription 1.
- Select Compute-VM (core-vCPUs) subscription limit increases.
- In Problem details, include:
- Regions tested: North Europe, Qatar Central, and West US.
- Several representative VM SKUs.
- The exact
NotAvailableForSubscription error.
- The relevant rows from
sku-list.json.
- Regional and VM-family quota usage.
- A request to verify Compute eligibility, region access, and VM SKU enablement, not merely increase quota.
This is Microsoft’s documented escalation route when a resource is unavailable for the requested subscription.^5^ Region-access requests use the same support issue type and Compute quota category.^6^
Is a subscription upgrade necessary?
The current error does not establish that an upgrade is required. Upgrade only if support or the quota response identifies the subscription offer type as the restriction—for example, ResourceNotAvailableForOffer. That condition is distinct from ResourceNotAvailableForSubscription; the former can require changing the offer, while the latter directs you to a support request.^5^
References
- Resolve errors for SKU not available
- Check vCPU quotas
- Increase regional vCPU quotas
- Increase VM-family vCPU quotas
- Azure Quota Service API
- Azure region access request process