Set-AzSqlDatabaseSecondary

Switches a secondary database to be primary in order to initiate failover.

Syntax

Set-AzSqlDatabaseSecondary
   [-DatabaseName] <String>
   -PartnerResourceGroupName <String>
   [-AsJob]
   [-ServerName] <String>
   [-ResourceGroupName] <String>
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-AzSqlDatabaseSecondary
   [-DatabaseName] <String>
   -PartnerResourceGroupName <String>
   [-Failover]
   [-AllowDataLoss]
   [-AsJob]
   [-ServerName] <String>
   [-ResourceGroupName] <String>
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

The Set-AzSqlDatabaseSecondary cmdlet switches a secondary database to be primary in order to initiate failover. This cmdlet is designed as a general configuration command, but is currently limited to initiating failover. Specify the AllowDataLoss parameter to initiate a force failover during an outage. You do not have to specify this parameter when you perform a planned operation, such as recovery drill. In the latter case, the secondary database is synchronized with the primary before it is switched.

Examples

1: Initiate a planned failover

$database = Get-AzSqlDatabase -DatabaseName $databaseName -ResourceGroupName $secondaryResourceGroupName -ServerName $secondaryServerName
$database | Set-AzSqlDatabaseSecondary -PartnerResourceGroupName $primaryResourceGroupName -Failover

2: Initiate a forced failover (with potential data loss)

$database = Get-AzSqlDatabase -DatabaseName $databaseName -ResourceGroupName $secondaryResourceGroupName -ServerName $secondaryServerName
$database | Set-AzSqlDatabaseSecondary -PartnerResourceGroupName $primaryResourceGroupName -Failover -AllowDataLoss

Parameters

-AllowDataLoss

Indicates that this failover operation permits data loss.

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-AsJob

Run cmdlet in the background

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Confirm

Prompts you for confirmation before running the cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False
-DatabaseName

Specifies the name of the Azure SQL Database Secondary.

Type:String
Position:2
Default value:None
Accept pipeline input:True (ByPropertyName)
Accept wildcard characters:False
-DefaultProfile

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

Type:Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Failover

Indicates that this operation is a failover.

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-PartnerResourceGroupName

Specifies the name of the resource group to which the partner Azure SQL Database is assigned.

Type:String
Position:Named
Default value:None
Accept pipeline input:True (ByPropertyName)
Accept wildcard characters:False
-ResourceGroupName

Specifies the name of the resource group to which the Azure SQL Database Secondary is assigned.

Type:String
Position:0
Default value:None
Accept pipeline input:True (ByPropertyName)
Accept wildcard characters:False
-ServerName

Specifies the name of the SQL Server that hosts the Azure SQL Database Secondary.

Type:String
Position:1
Default value:None
Accept pipeline input:True (ByPropertyName)
Accept wildcard characters:False
-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False

Inputs

String

Outputs

AzureReplicationLinkModel