Sql Server Availability Groups - Failover

Request manual failover of the availability group to this server.

POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}/availabilityGroups/{availabilityGroupName}/failover?api-version=2026-01-01

URI Parameters

Name In Required Type Description
availabilityGroupName
path True

string

Name of SQL Availability Group

resourceGroupName
path True

string

The name of the Azure resource group

sqlServerInstanceName
path True

string

Name of SQL Server Instance

subscriptionId
path True

string (uuid)

The ID of the target subscription. The value must be an UUID.

api-version
query True

string

minLength: 1

The API version to use for this operation.

Responses

Name Type Description
200 OK

SqlServerAvailabilityGroupResource

Successfully requested failover of the Availability Group.

Other Status Codes

ErrorResponse

*** Error Responses: ***

Examples

availability group manual failover to this server.

Sample request

POST https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlServerInstances/testSqlServer_INST1/availabilityGroups/testAG/failover?api-version=2026-01-01

Sample response

{
  "location": "southeastasia",
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlServerInstances/testSqlServer_INST1/availabilityGroups/testAG",
  "name": "testAG",
  "type": "Microsoft.AzureArcData/sqlServerInstances/availabilityGroups",
  "properties": {
    "availabilityGroupId": "00000000-1111-2222-3333-444444444444",
    "serverName": "testSqlServer",
    "instanceName": "INST1",
    "vmId": "12345678-1234-1234-1234-123456789123",
    "replicas": {
      "value": [
        {
          "replicaId": "00000000-1111-2222-3333-444444444444",
          "replicaName": "testSqlServerInstance",
          "configure": {
            "endpointName": "inst1DBMEndpoint",
            "endpointUrl": "TCP://mytest60-0.mytest60-svc:5022",
            "endpointConnectLogin": "NT Server\\MSSSQLSERVER",
            "availabilityModeDescription": "SYNCHRONOUS_COMMIT",
            "failoverModeDescription": "EXTERNAL",
            "sessionTimeout": 10,
            "primaryRoleAllowConnectionsDescription": "ALL",
            "secondaryRoleAllowConnectionsDescription": "ALL",
            "replicaCreateDate": null,
            "replicaModifyDate": null,
            "backupPriority": 50,
            "readOnlyRoutingUrl": null,
            "readWriteRoutingUrl": null,
            "seedingModeDescription": "AUTOMATIC"
          },
          "state": {
            "availabilityGroupReplicaRole": "SECONDARY",
            "operationalStateDescription": "ONLINE",
            "recoveryHealthDescription": "ONLINE_IN_PROGRESS",
            "synchronizationHealthDescription": "HEALTHY",
            "connectedStateDescription": "CONNECTED",
            "lastConnectErrorDescription": "",
            "lastConnectErrorTimestamp": "2022-05-05T16:26:33.883Z"
          }
        }
      ]
    },
    "databases": {
      "value": [
        {
          "databaseName": "db1",
          "replicaName": "testSqlServer\\INST1",
          "isLocal": true,
          "isPrimaryReplica": true,
          "synchronizationStateDescription": "SYNCHRONIZED",
          "isCommitParticipant": true,
          "synchronizationHealthDescription": "HEALTHY",
          "databaseStateDescription": "ONLINE",
          "isSuspended": false
        },
        {
          "databaseName": "db2",
          "replicaName": "testSqlServer\\INST1",
          "isLocal": true,
          "isPrimaryReplica": true,
          "synchronizationStateDescription": "SYNCHRONIZED",
          "isCommitParticipant": true,
          "synchronizationHealthDescription": "HEALTHY",
          "databaseStateDescription": "ONLINE",
          "isSuspended": false
        }
      ]
    }
  },
  "systemData": {
    "createdBy": "user1",
    "createdByType": "User",
    "createdAt": "2020-01-01T17:18:19.1234567Z",
    "lastModifiedBy": "user2",
    "lastModifiedByType": "User",
    "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
  },
  "tags": {
    "mytag": "myval"
  }
}

Definitions

Name Description
arcSqlServerAvailabilityMode

Property that determines whether a given availability replica can run in synchronous-commit mode

arcSqlServerFailoverMode

Property to set the failover mode of the availability group replica

AvailabilityGroupConfigure

The specifications of the availability group replica configuration

AvailabilityGroupInfo

The specifications of the availability group state

AvailabilityGroupState

The specifications of the availability group state

connectionAuth

Permitted authentication modes for the mirroring endpoint.

createdByType

The type of identity that created the resource.

Databases

A list of Availability Group Database Replicas.

ErrorAdditionalInfo

The resource management error additional info.

ErrorDetail

The error detail.

ErrorResponse

Error response

primaryAllowConnections

Whether the primary replica should allow all connections or only READ_WRITE connections (disallowing ReadOnly connections)

Replicas

A list of Availability Group Replicas.

replicationPartnerType
secondaryAllowConnections

Whether the secondary replica should allow all connections, no connections, or only ReadOnly connections.

seedingMode

Specifies how the secondary replica will be initially seeded. AUTOMATIC enables direct seeding. This method will seed the secondary replica over the network. This method does not require you to backup and restore a copy of the primary database on the replica. MANUAL specifies manual seeding (default). This method requires you to create a backup of the database on the primary replica and manually restore that backup on the secondary replica.

SqlAvailabilityGroupDatabaseReplicaResourceProperties

The properties of Arc Sql availability group database replica resource

SqlAvailabilityGroupIpV4AddressesAndMasksProperties

Address and netmask information for an IPv4 AG listener.

SqlAvailabilityGroupReplicaResourceProperties

The properties of Arc Sql availability group replica resource

SqlAvailabilityGroupStaticIPListenerProperties

The properties of a static IP Arc Sql availability group listener

SqlServerAvailabilityGroupResource

Arc Sql Server Availability Group

SqlServerAvailabilityGroupResourceProperties

The properties of Arc Sql Server availability group resource

systemData

Metadata pertaining to creation and last modification of the resource.

arcSqlServerAvailabilityMode

Property that determines whether a given availability replica can run in synchronous-commit mode

Value Description
SYNCHRONOUS_COMMIT
ASYNCHRONOUS_COMMIT

arcSqlServerFailoverMode

Property to set the failover mode of the availability group replica

Value Description
AUTOMATIC
MANUAL
EXTERNAL
NONE

AvailabilityGroupConfigure

The specifications of the availability group replica configuration

Name Type Description
availabilityMode

arcSqlServerAvailabilityMode

Property that determines whether a given availability replica can run in synchronous-commit mode

availabilityModeDescription

string

The Availability Synchronization mode of the availability group replica.

backupPriority

integer (int32)

Represents the user-specified priority for performing backups on this replica relative to the other replicas in the same availability group.

certificateName

string

Name of certificate to use for authentication. Required if any CERTIFICATE authentication modes are specified.

endpointAuthenticationMode

connectionAuth

Permitted authentication modes for the mirroring endpoint.

endpointConnectLogin

string

The login which will connect to the mirroring endpoint.

endpointName

string

Name of the mirroring endpoint URL

endpointUrl

string

Mirroring endpoint URL of availability group replica

failoverMode

arcSqlServerFailoverMode

Property to set the failover mode of the availability group replica

failoverModeDescription

string

The failover mode of the availability group replica.

primaryAllowConnections

primaryAllowConnections

Whether the primary replica should allow all connections or only READ_WRITE connections (disallowing ReadOnly connections)

primaryRoleAllowConnectionsDescription

string

Whether the availability allows all connections or only read-write connections.

readOnlyRoutingUrl

string

Connectivity endpoint (URL) of the read only availability replica.

readWriteRoutingUrl

string

Connectivity endpoint (URL) of the read write availability replica.

replicaCreateDate

string (date-time)

Date that the replica was created.

replicaModifyDate

string (date-time)

Date that the replica was modified.

secondaryAllowConnections

secondaryAllowConnections

Whether the secondary replica should allow all connections, no connections, or only ReadOnly connections.

secondaryRoleAllowConnectionsDescription

string

Whether an availability replica that is performing the secondary role (that is, a secondary replica) can accept connections from clients.

seedingMode

seedingMode

Specifies how the secondary replica will be initially seeded. AUTOMATIC enables direct seeding. This method will seed the secondary replica over the network. This method does not require you to backup and restore a copy of the primary database on the replica. MANUAL specifies manual seeding (default). This method requires you to create a backup of the database on the primary replica and manually restore that backup on the secondary replica.

seedingModeDescription

string

Describes seeding mode.

sessionTimeout

integer (int32)

The time-out period of availability group session replica, in seconds.

AvailabilityGroupInfo

The specifications of the availability group state

Name Type Description
automatedBackupPreferenceDescription

string

Preferred location for performing backups on the availability databases in this availability group.

basicFeatures

boolean

Specifies whether this is a basic availability group.

clusterTypeDescription

string

SQL Server availability group cluster type description

dbFailover

boolean

Specifies whether the availability group supports failover for database health conditions.

dtcSupport

boolean

Specifies whether DTC support has been enabled for this availability group.

failureConditionLevel

integer (int32)

User-defined failure condition level under which an automatic failover must be triggered.

healthCheckTimeout

integer (int32)

Wait time (in milliseconds) for the sp_server_diagnostics system stored procedure to return server-health information, before the server instance is assumed to be slow or not responding.

isContained

boolean

SQL Server availability group contained system databases.

isDistributed

boolean

Specifies whether this is a distributed availability group.

listener

SqlAvailabilityGroupStaticIPListenerProperties

The listener for the sql server availability group

primaryRecoveryHealthDescription

string

Indicates the recovery health of the primary replica.

primaryReplica

string

Name of the server instance that is hosting the current primary replica.

replicationPartnerType

replicationPartnerType

requiredSynchronizedSecondariesToCommit

integer (int32)

The number of secondary replicas that must be in a synchronized state for a commit to complete.

secondaryRecoveryHealthDescription

string

Indicates the recovery health of a secondary replica.

synchronizationHealthDescription

string

Reflects a roll-up of the synchronization health of all availability replicas in the availability group.

version

integer (int32)

SQL Server availability group current version.

AvailabilityGroupState

The specifications of the availability group state

Name Type Description
availabilityGroupReplicaRole

string

Current Always On availability groups role of the availability group replica.

connectedStateDescription

string

Whether a secondary replica is currently connected to the primary replica.

lastConnectErrorDescription

string

Text description of the last connection error of the availability group replica.

lastConnectErrorTimestamp

string (date-time)

Date and time timestamp indicating when the last connect error occurred.

operationalStateDescription

string

Current operational state of the availability group replica

recoveryHealthDescription

string

Recovery health of the availability group replica.

synchronizationHealthDescription

string

Reflects a rollup of the database synchronization state (synchronization_state) of all joined availability databases (also known as replicas) and the availability mode of the replica (synchronous-commit or asynchronous-commit mode). The rollup will reflect the least healthy accumulated state the databases on the replica.

connectionAuth

Permitted authentication modes for the mirroring endpoint.

Value Description
Windows_NTLM
Windows_Kerberos
Windows_Negotiate
Certificate
Windows_NTLM_Certificate
Windows_Kerberos_Certificate
Windows_Negotiate_Certificate
Certificate_Windows_NTLM
Certificate_Windows_Kerberos
Certificate_Windows_Negotiate

createdByType

The type of identity that created the resource.

Value Description
User
Application
ManagedIdentity
Key

Databases

A list of Availability Group Database Replicas.

Name Type Description
nextLink

string

Link to retrieve next page of results.

value

SqlAvailabilityGroupDatabaseReplicaResourceProperties[]

Array of Availability Group Database Replicas.

ErrorAdditionalInfo

The resource management error additional info.

Name Type Description
info

object

The additional info.

type

string

The additional info type.

ErrorDetail

The error detail.

Name Type Description
additionalInfo

ErrorAdditionalInfo[]

The error additional info.

code

string

The error code.

details

ErrorDetail[]

The error details.

message

string

The error message.

target

string

The error target.

ErrorResponse

Error response

Name Type Description
error

ErrorDetail

The error object.

primaryAllowConnections

Whether the primary replica should allow all connections or only READ_WRITE connections (disallowing ReadOnly connections)

Value Description
ALL
READ_WRITE

Replicas

A list of Availability Group Replicas.

Name Type Description
nextLink

string

Link to retrieve next page of results.

value

SqlAvailabilityGroupReplicaResourceProperties[]

Array of Availability Group Replicas.

replicationPartnerType

Value Description
SQLServer
AzureSQLVM
AzureSQLManagedInstance
Unknown

secondaryAllowConnections

Whether the secondary replica should allow all connections, no connections, or only ReadOnly connections.

Value Description
NO
ALL
READ_ONLY

seedingMode

Specifies how the secondary replica will be initially seeded. AUTOMATIC enables direct seeding. This method will seed the secondary replica over the network. This method does not require you to backup and restore a copy of the primary database on the replica. MANUAL specifies manual seeding (default). This method requires you to create a backup of the database on the primary replica and manually restore that backup on the secondary replica.

Value Description
AUTOMATIC
MANUAL

SqlAvailabilityGroupDatabaseReplicaResourceProperties

The properties of Arc Sql availability group database replica resource

Name Type Description
databaseName

string

the database name.

databaseStateDescription

string

Description of the database state of the availability replica.

isCommitParticipant

boolean

Whether this replica is transaction committer.

isLocal

boolean

Whether the availability database is local.

isPrimaryReplica

boolean

Returns 1 if the replica is primary, or 0 if it is a secondary replica.

isSuspended

boolean

Whether this data movement is suspended.

replicaName

string

the database replica name.

suspendReasonDescription

string

Description of the database suspended state reason.

synchronizationHealthDescription

string

Description of the health of database.

synchronizationStateDescription

string

Description of the data-movement state.

SqlAvailabilityGroupIpV4AddressesAndMasksProperties

Address and netmask information for an IPv4 AG listener.

Name Type Description
ipAddress

string

IPV4 address

mask

string

IPV4 netmask

SqlAvailabilityGroupReplicaResourceProperties

The properties of Arc Sql availability group replica resource

Name Type Description
configure

AvailabilityGroupConfigure

null

replicaId

string

pattern: ^[A-Za-z0-9]{8}-([A-Za-z0-9]{4}-){3}[A-Za-z0-9]{12}$

ID GUID of the availability group.

replicaName

string

The replica name.

replicaResourceId

string (arm-id)

Resource id of this replica. This is required for a distributed availability group, in which case it describes the location of the availability group that hosts one replica in the DAG. In a non-distributed availability group this field is optional but can be used to store the Azure resource id for AG.

state

AvailabilityGroupState

null

SqlAvailabilityGroupStaticIPListenerProperties

The properties of a static IP Arc Sql availability group listener

Name Type Description
dnsName

string

the DNS name for the listener.

ipV4AddressesAndMasks

SqlAvailabilityGroupIpV4AddressesAndMasksProperties[]

IP V4 Addresses and masks for the listener.

ipV6Addresses

string[]

IP V6 Addresses for the listener

port

integer (int32)

Network port for the listener. Default is 1433.

SqlServerAvailabilityGroupResource

Arc Sql Server Availability Group

Name Type Description
id

string

Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}

location

string

The geo-location where the resource lives

name

string

The name of the resource

properties

SqlServerAvailabilityGroupResourceProperties

Properties of Arc Sql Server availability group

systemData

systemData

Azure Resource Manager metadata containing createdBy and modifiedBy information.

tags

object

Resource tags.

type

string

The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"

SqlServerAvailabilityGroupResourceProperties

The properties of Arc Sql Server availability group resource

Name Type Description
availabilityGroupId

string

pattern: ^[A-Za-z0-9]{8}-([A-Za-z0-9]{4}-){3}[A-Za-z0-9]{12}$

ID GUID of the availability group.

collectionTimestamp

string (date-time)

Timestamp for when the data was collected from the client machine.

databases

Databases

A list of Availability Group Database Replicas.

info

AvailabilityGroupInfo

Availability Group Info

instanceName

string

the SQL Server Instance name.

provisioningState

string

The provisioning state of the Arc-enabled SQL Server availability group resource.

replicas

Replicas

A list of Availability Group Replicas.

serverName

string

the SQL server name.

vmId

string

The unique ID of the hybrid machine that this resource belongs to.

systemData

Metadata pertaining to creation and last modification of the resource.

Name Type Description
createdAt

string (date-time)

The timestamp of resource creation (UTC).

createdBy

string

The identity that created the resource.

createdByType

createdByType

The type of identity that created the resource.

lastModifiedAt

string (date-time)

The timestamp of resource last modification (UTC)

lastModifiedBy

string

The identity that last modified the resource.

lastModifiedByType

createdByType

The type of identity that last modified the resource.