New-AzSqlDatabaseFailoverGroup

This command creates a new Azure SQL Database Failover Group.

Syntax

New-AzSqlDatabaseFailoverGroup
   [-ServerName] <String>
   -FailoverGroupName <String>
   [-PartnerSubscriptionId <String>]
   [-PartnerResourceGroupName <String>]
   -PartnerServerName <String>
   [-FailoverPolicy <FailoverPolicy>]
   [-GracePeriodWithDataLossHours <Int32>]
   [-AllowReadOnlyFailoverToPrimary <AllowReadOnlyFailoverToPrimary>]
   [-PartnerServerList <System.Collections.Generic.List`1[System.String]>]
   [-ReadOnlyEndpointTargetServer <String>]
   [-ResourceGroupName] <String>
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]

Description

Creates a new Azure SQL Database Failover Group for the specified servers. Two Azure SQL Database TDS endpoints are created at FailoverGroupName.SqlDatabaseDnsSuffix (for example, FailoverGroupName.database.windows.net) and FailoverGroupName.secondary.SqlDatabaseDnsSuffix. These endpoints may be used to connect to the primary and secondary servers in the Failover Group, respectively. If the primary server is affected by an outage, automatic failover of the endpoints and databases will be triggered as dictated by the Failover Group's failover policy and grace period. Newly created Failover Groups do not contain any databases. To control the set of databases in a Failover Group, use the 'Add-AzSqlDatabaseToFailoverGroup' and 'Remove-AzSqlDatabaseFromFailoverGroup' cmdlets. Only values greater than or equal to 1 hour are supported for the '-GracePeriodWithDataLossHours' parameter.

[!NOTE] It's possible to deploy your auto-failover group across subscriptions by using the -PartnerSubscriptionId parameter in Azure Powershell starting with Az.SQL 3.11.0.

Examples

Example 1

$failoverGroup = New-AzSqlDatabaseFailoverGroup -ResourceGroupName rg -ServerName primaryserver -PartnerServerName secondaryserver -FailoverGroupName fg -FailoverPolicy Automatic -GracePeriodWithDataLossHours 1

This command creates a new Failover Group with failover policy 'Automatic' for two servers in the same resource group.

Example 2

$failoverGroup = New-AzSqlDatabaseFailoverGroup -ResourceGroupName rg1 -ServerName primaryserver -PartnerResourceGroupName rg2 -PartnerServerName secondaryserver1 -FailoverGroupName fg -FailoverPolicy Manual

This command creates a new Failover Group with failover policy 'Manual' for two servers in different resource groups.

Example 3

$sub2 = 'b3c40cd6-024f-428c-921b-cda6c6834c34'
$failoverGroup = New-AzSqlDatabaseFailoverGroup -ServerName primaryserver -FailoverGroupName fg -PartnerSubscriptionId $sub2 -PartnerResourceGroupName rg2 -PartnerServerName secondaryserver1 -FailoverPolicy Manual -ResourceGroupName rg1

FailoverGroupName                    : fg
Location                             : East US
ResourceGroupName                    : rg1
ServerName                           : primaryserver
PartnerLocation                      : West US 2
PartnerResourceGroupName             : rg2
PartnerServerName                    : secondaryserver1
ReplicationRole                      : Primary
ReplicationState                     : CATCH_UP
ReadWriteFailoverPolicy              : Manual
FailoverWithDataLossGracePeriodHours :
DatabaseNames                        : {}

This command creates a new Failover Group with failover policy 'Manual' for two servers in different subscriptions.

Parameters

-AllowReadOnlyFailoverToPrimary

Whether an outage on the secondary server should trigger automatic failover of the read-only endpoint.

Type:AllowReadOnlyFailoverToPrimary
Accepted values:Enabled, Disabled
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

The credentials, account, tenant, and subscription used for communication with azure

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FailoverGroupName

The name of the Azure SQL Database Failover Group to create.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-FailoverPolicy

The failover policy of the Azure SQL Database Failover Group.

Type:FailoverPolicy
Accepted values:Automatic, Manual
Position:Named
Default value:Manual
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-GracePeriodWithDataLossHours

Interval before automatic failover is initiated if an outage occurs on the primary server and failover cannot be completed without data loss.

Type:Int32
Position:Named
Default value:1
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PartnerResourceGroupName

The name of the secondary resource group of the Azure SQL Database Failover Group.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PartnerServerList

The list of partner servers in the failover group (empty list for 0 servers).

Type:List<T>[String]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PartnerServerName

The name of the secondary server of the Azure SQL Database Failover Group.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-PartnerSubscriptionId

The name of the secondary subscription id of the Azure SQL Database Failover Group.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ReadOnlyEndpointTargetServer

The name of the target server for the read only endpoint. If empty, defaults to value of PartnerServerName.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ResourceGroupName

The name of the resource group.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-ServerName

The name of the primary Azure SQL Database Server of the Failover Group.

Type:String
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

Inputs

String

Outputs

AzureSqlFailoverGroupModel