distributed_availability_groups
Creates, updates, deletes, gets or lists a distributed_availability_groups resource.
Overview
| Name | distributed_availability_groups |
| Type | Resource |
| Id | azure.sql.distributed_availability_groups |
Fields
The following fields are returned by SELECT queries:
- get
- list_by_instance
| Name | Datatype | Description |
|---|---|---|
id | string | Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. |
name | string | The name of the resource. |
databases | array | Databases in the distributed availability group. |
distributedAvailabilityGroupId | string | ID of the distributed availability group. |
distributedAvailabilityGroupName | string | Name of the distributed availability group. |
failoverMode | string | The link failover mode - can be Manual if intended to be used for two-way failover with a supported SQL Server, or None for one-way failover to Azure. Known values are: "None" and "Manual". (None, Manual) |
instanceAvailabilityGroupName | string | Managed instance side availability group name. |
instanceLinkRole | string | Managed instance side link role. Known values are: "Primary" and "Secondary". (Primary, Secondary) |
partnerAvailabilityGroupName | string | SQL server side availability group name. |
partnerEndpoint | string | SQL server side endpoint - IP or DNS resolvable name. |
partnerLinkRole | string | SQL server side link role. Known values are: "Primary" and "Secondary". (Primary, Secondary) |
replicationMode | string | Replication mode of the link. Known values are: "Async" and "Sync". (Async, Sync) |
seedingMode | string | Database seeding mode – can be Automatic (default), or Manual for supported scenarios. Known values are: "Automatic" and "Manual". (Automatic, Manual) |
systemData | object | Azure Resource Manager metadata containing createdBy and modifiedBy information. |
type | string | The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". |
| Name | Datatype | Description |
|---|---|---|
id | string | Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. |
name | string | The name of the resource. |
databases | array | Databases in the distributed availability group. |
distributedAvailabilityGroupId | string | ID of the distributed availability group. |
distributedAvailabilityGroupName | string | Name of the distributed availability group. |
failoverMode | string | The link failover mode - can be Manual if intended to be used for two-way failover with a supported SQL Server, or None for one-way failover to Azure. Known values are: "None" and "Manual". (None, Manual) |
instanceAvailabilityGroupName | string | Managed instance side availability group name. |
instanceLinkRole | string | Managed instance side link role. Known values are: "Primary" and "Secondary". (Primary, Secondary) |
partnerAvailabilityGroupName | string | SQL server side availability group name. |
partnerEndpoint | string | SQL server side endpoint - IP or DNS resolvable name. |
partnerLinkRole | string | SQL server side link role. Known values are: "Primary" and "Secondary". (Primary, Secondary) |
replicationMode | string | Replication mode of the link. Known values are: "Async" and "Sync". (Async, Sync) |
seedingMode | string | Database seeding mode – can be Automatic (default), or Manual for supported scenarios. Known values are: "Automatic" and "Manual". (Automatic, Manual) |
systemData | object | Azure Resource Manager metadata containing createdBy and modifiedBy information. |
type | string | The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". |
Methods
The following methods are available for this resource:
Parameters
Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.
| Name | Datatype | Description |
|---|---|---|
distributed_availability_group_name | string | The distributed availability group name. Required. |
managed_instance_name | string | The name of the managed instance. Required. |
resource_group_name | string | The name of the resource group. The name is case insensitive. Required. |
subscription_id | string |
SELECT examples
- get
- list_by_instance
Gets a distributed availability group info.
SELECT
id,
name,
databases,
distributedAvailabilityGroupId,
distributedAvailabilityGroupName,
failoverMode,
instanceAvailabilityGroupName,
instanceLinkRole,
partnerAvailabilityGroupName,
partnerEndpoint,
partnerLinkRole,
replicationMode,
seedingMode,
systemData,
type
FROM azure.sql.distributed_availability_groups
WHERE resource_group_name = '{{ resource_group_name }}' -- required
AND managed_instance_name = '{{ managed_instance_name }}' -- required
AND distributed_availability_group_name = '{{ distributed_availability_group_name }}' -- required
AND subscription_id = '{{ subscription_id }}' -- required
;
Gets a list of a distributed availability groups in instance.
SELECT
id,
name,
databases,
distributedAvailabilityGroupId,
distributedAvailabilityGroupName,
failoverMode,
instanceAvailabilityGroupName,
instanceLinkRole,
partnerAvailabilityGroupName,
partnerEndpoint,
partnerLinkRole,
replicationMode,
seedingMode,
systemData,
type
FROM azure.sql.distributed_availability_groups
WHERE resource_group_name = '{{ resource_group_name }}' -- required
AND managed_instance_name = '{{ managed_instance_name }}' -- required
AND subscription_id = '{{ subscription_id }}' -- required
;
INSERT examples
- create_or_update
- Manifest
Creates a distributed availability group between Sql On-Prem and Sql Managed Instance.
INSERT INTO azure.sql.distributed_availability_groups (
properties,
resource_group_name,
managed_instance_name,
distributed_availability_group_name,
subscription_id
)
SELECT
'{{ properties }}',
'{{ resource_group_name }}',
'{{ managed_instance_name }}',
'{{ distributed_availability_group_name }}',
'{{ subscription_id }}'
RETURNING
id,
name,
properties,
systemData,
type
;
# Description fields are for documentation purposes
- name: distributed_availability_groups
props:
- name: resource_group_name
value: "{{ resource_group_name }}"
description: Required parameter for the distributed_availability_groups resource.
- name: managed_instance_name
value: "{{ managed_instance_name }}"
description: Required parameter for the distributed_availability_groups resource.
- name: distributed_availability_group_name
value: "{{ distributed_availability_group_name }}"
description: Required parameter for the distributed_availability_groups resource.
- name: subscription_id
value: "{{ subscription_id }}"
description: Required parameter for the distributed_availability_groups resource.
- name: properties
description: |
Resource properties.
value:
distributedAvailabilityGroupName: "{{ distributedAvailabilityGroupName }}"
distributedAvailabilityGroupId: "{{ distributedAvailabilityGroupId }}"
replicationMode: "{{ replicationMode }}"
partnerLinkRole: "{{ partnerLinkRole }}"
partnerAvailabilityGroupName: "{{ partnerAvailabilityGroupName }}"
partnerEndpoint: "{{ partnerEndpoint }}"
instanceLinkRole: "{{ instanceLinkRole }}"
instanceAvailabilityGroupName: "{{ instanceAvailabilityGroupName }}"
failoverMode: "{{ failoverMode }}"
seedingMode: "{{ seedingMode }}"
databases:
- databaseName: "{{ databaseName }}"
instanceReplicaId: "{{ instanceReplicaId }}"
partnerReplicaId: "{{ partnerReplicaId }}"
replicaState: "{{ replicaState }}"
seedingProgress: "{{ seedingProgress }}"
synchronizationHealth: "{{ synchronizationHealth }}"
connectedState: "{{ connectedState }}"
lastReceivedLsn: "{{ lastReceivedLsn }}"
lastReceivedTime: "{{ lastReceivedTime }}"
lastSentLsn: "{{ lastSentLsn }}"
lastSentTime: "{{ lastSentTime }}"
lastCommitLsn: "{{ lastCommitLsn }}"
lastCommitTime: "{{ lastCommitTime }}"
lastHardenedLsn: "{{ lastHardenedLsn }}"
lastHardenedTime: "{{ lastHardenedTime }}"
lastBackupLsn: "{{ lastBackupLsn }}"
lastBackupTime: "{{ lastBackupTime }}"
mostRecentLinkError: "{{ mostRecentLinkError }}"
partnerAuthCertValidity:
certificateName: "{{ certificateName }}"
expiryDate: "{{ expiryDate }}"
instanceSendReplicationLagSeconds: {{ instanceSendReplicationLagSeconds }}
instanceRedoReplicationLagSeconds: {{ instanceRedoReplicationLagSeconds }}
UPDATE examples
- update
Updates a distributed availability group replication mode.
UPDATE azure.sql.distributed_availability_groups
SET
properties = '{{ properties }}'
WHERE
resource_group_name = '{{ resource_group_name }}' --required
AND managed_instance_name = '{{ managed_instance_name }}' --required
AND distributed_availability_group_name = '{{ distributed_availability_group_name }}' --required
AND subscription_id = '{{ subscription_id }}' --required
RETURNING
id,
name,
properties,
systemData,
type;
REPLACE examples
- create_or_update
Creates a distributed availability group between Sql On-Prem and Sql Managed Instance.
REPLACE azure.sql.distributed_availability_groups
SET
properties = '{{ properties }}'
WHERE
resource_group_name = '{{ resource_group_name }}' --required
AND managed_instance_name = '{{ managed_instance_name }}' --required
AND distributed_availability_group_name = '{{ distributed_availability_group_name }}' --required
AND subscription_id = '{{ subscription_id }}' --required
RETURNING
id,
name,
properties,
systemData,
type;
DELETE examples
- delete
Drops a distributed availability group between Sql On-Prem and Sql Managed Instance.
DELETE FROM azure.sql.distributed_availability_groups
WHERE resource_group_name = '{{ resource_group_name }}' --required
AND managed_instance_name = '{{ managed_instance_name }}' --required
AND distributed_availability_group_name = '{{ distributed_availability_group_name }}' --required
AND subscription_id = '{{ subscription_id }}' --required
;
Lifecycle Methods
- failover
- set_role
Performs requested failover type in this distributed availability group.
EXEC azure.sql.distributed_availability_groups.failover
@resource_group_name='{{ resource_group_name }}' --required,
@managed_instance_name='{{ managed_instance_name }}' --required,
@distributed_availability_group_name='{{ distributed_availability_group_name }}' --required,
@subscription_id='{{ subscription_id }}' --required
@@json=
'{
"failoverType": "{{ failoverType }}"
}'
;
Sets the role for managed instance in a distributed availability group.
EXEC azure.sql.distributed_availability_groups.set_role
@resource_group_name='{{ resource_group_name }}' --required,
@managed_instance_name='{{ managed_instance_name }}' --required,
@distributed_availability_group_name='{{ distributed_availability_group_name }}' --required,
@subscription_id='{{ subscription_id }}' --required
@@json=
'{
"instanceRole": "{{ instanceRole }}",
"roleChangeType": "{{ roleChangeType }}"
}'
;