Virtual Network Rules - Create Or Update

Creates or updates an existing virtual network rule.

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}?api-version=2021-02-01-preview

URI Parameters

Name In Required Type Description
resourceGroupName
path True
  • string

The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.

serverName
path True
  • string

The name of the server.

subscriptionId
path True
  • string

The subscription ID that identifies an Azure subscription.

virtualNetworkRuleName
path True
  • string

The name of the virtual network rule.

api-version
query True
  • string

The API version to use for the request.

Request Body

Name Required Type Description
properties.virtualNetworkSubnetId True
  • string

The ARM resource id of the virtual network subnet.

properties.ignoreMissingVnetServiceEndpoint
  • boolean

Create firewall rule before the virtual network has vnet service endpoint enabled.

Responses

Name Type Description
200 OK

Successfully updated a virtual network rule.

201 Created

Successfully created a virtual network rule.

202 Accepted

Accepted

Other Status Codes

*** Error Responses: ***

  • 400 InvalidResourceId - Invalid resource identifier.

  • 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.

  • 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.

  • 400 MismatchingServerNameWithUrl - The provided server name did not match the name in the Url.

  • 400 NullVirtualNetworkRequest - Virtual Network Request is Null

  • 400 NullVirtualNetworkRequestParameters - Virtual Network Request Parameters are Null

  • 400 FirewallChangesDeniedBecausePublicEndpointDisabled - Unable to create or modify firewall rules when public network access for the server is disabled. (https://docs.microsoft.com/en-us/azure/azure-sql/database/connectivity-settings#deny-public-network-access)

  • 400 VirtualNetworkRuleBadRequest - Azure SQL Server Virtual Network Rule encountered an user error

  • 400 VirtualNetworkRuleWithFailoverGroupsNotSupported - Virtual network firewall rules are not currently supported on servers with failover groups configured with automatic failover policy. Please configure the failover groups on the server with manual failover policy.

  • 400 NullVirtualNetworkSubnetId - The Virtual Network Subnet Id is null

  • 403 VirtualNetworkRuleAccessDenied - Azure SQL Server Virtual Network Rule encountered permissions error

  • 404 SubscriptionDoesNotHaveServer - The requested server was not found

  • 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.

  • 404 VirtualNetworkRuleNotEnabled - Azure SQL Server Virtual Network Rule feature is not enabled

  • 404 VirtualNetworkRuleResourceNotFound - Azure SQL Server Virtual Network Rule encountered a resource not found error

  • 404 VirtualNetworkRuleSubscriptionNotFound - Azure SQL Server Virtual Network Subscription id not found or is in disabled state

  • 404 OperationIdNotFound - The operation with Id does not exist.

  • 409 OperationCancelled - The operation has been cancelled by user.

  • 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.

  • 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.

  • 504 VirtualNetworkRuleTimedOut - Azure SQL Server Virtual Network Rule encountered a timeout

Examples

Create or update a virtual network rule

Sample Request

PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/vnet-test-svr/virtualNetworkRules/vnet-firewall-rule?api-version=2021-02-01-preview
{
  "properties": {
    "ignoreMissingVnetServiceEndpoint": false,
    "virtualNetworkSubnetId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Network/virtualNetworks/testvnet/subnets/testsubnet"
  }
}

Sample Response

{
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/vnet-test-svr/virtualNetworkRules/vnet-firewall-rule",
  "name": "vnet-firewall-rule",
  "type": "Microsoft.Sql/servers/virtualNetworkRules",
  "properties": {
    "ignoreMissingVnetServiceEndpoint": false,
    "virtualNetworkSubnetId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Network/virtualNetworks/testvnet/subnets/testsubnet"
  }
}
{
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/vnet-test-svr/virtualNetworkRules/vnet-firewall-rule",
  "name": "vnet-firewall-rule",
  "type": "Microsoft.Sql/servers/virtualNetworkRules",
  "properties": {
    "ignoreMissingVnetServiceEndpoint": false,
    "virtualNetworkSubnetId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Network/virtualNetworks/testvnet/subnets/testsubnet"
  }
}

Definitions

VirtualNetworkRule

A virtual network rule.

VirtualNetworkRuleState

Virtual Network Rule State

VirtualNetworkRule

A virtual network rule.

Name Type Description
id
  • string

Resource ID.

name
  • string

Resource name.

properties.ignoreMissingVnetServiceEndpoint
  • boolean

Create firewall rule before the virtual network has vnet service endpoint enabled.

properties.state

Virtual Network Rule State

properties.virtualNetworkSubnetId
  • string

The ARM resource id of the virtual network subnet.

type
  • string

Resource type.

VirtualNetworkRuleState

Virtual Network Rule State

Name Type Description
Deleting
  • string
Failed
  • string
InProgress
  • string
Initializing
  • string
Ready
  • string
Unknown
  • string