Поделиться через


Switch-SqlAvailabilityGroup

Starts a failover of an availability group to a secondary replica.

Синтаксис

ByPath (по умолчанию)

Switch-SqlAvailabilityGroup
    [[-Path] <String[]>]
    [-AllowDataLoss]
    [-Force]
    [-Script]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ByObject

Switch-SqlAvailabilityGroup
    [-InputObject] <AvailabilityGroup[]>
    [-AllowDataLoss]
    [-Force]
    [-Script]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Описание

The Switch-SqlAvailabilityGroup cmdlet starts a failover of an availability group to a specified secondary replica. Run this cmdlet on the target secondary replica. After the failover, the secondary replica becomes the primary replica.

Примеры

Example 1: Fail over an availability group

PS C:\> Switch-SqlAvailabilityGroup -Path "SQLSERVER:\Sql\SecondaryServer\InstanceName\AvailabilityGroups\MainAG"

This command performs a manual failover of the availability group MainAG to the server instance named SecondaryServer\InstanceName. This command does not allow data loss. Run this command on the server instance that hosts the secondary replica to which to fail over.

Example 2: Force an availability group to fail over

PS C:\> Switch-SqlAvailabilityGroup -Path "SQLSERVER:\Sql\SecondaryServer\InstanceName\AvailabilityGroups\MainAG" -AllowDataLoss

This command performs a manual failover of the availability group MainAG to the server instance named SecondaryServer\InstanceName. The command specifies the AllowDataLoss parameter. Therefore, the failover has the potential of data loss, and the command prompts you for confirmation. Specify the Force parameter to skip the confirmation.

Example 3: Create a script to fail over an availability group

PS C:\>Switch-SqlAvailabilityGroup -Path "SQLSERVER:\Sql\SecondaryServer\InstanceName\AvailabilityGroups\MainAG" -Script

This command creates a Transact-SQL script that performs a manual failover of the availability group MainAG to the server instance named SecondaryServer\InstanceName. The script does not allow data loss. The command does not cause failover.

Параметры

-AllowDataLoss

Indicates that this cmdlet starts a forced failover to the target secondary replica. Data loss is possible. Unless you specify the Force or Script parameter, the cmdlet prompts you for confirmation.

Свойства параметра

Тип:SwitchParameter
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Confirm

Prompts you for confirmation before running the cmdlet.

Свойства параметра

Тип:SwitchParameter
Default value:False
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:cf

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Force

Forces the command to run without asking for user confirmation. This cmdlet prompts you for confirmation only if you specify the AllowDataLoss parameter.

Свойства параметра

Тип:SwitchParameter
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-InputObject

Specifies availability group that this cmdlet fails over.

Свойства параметра

Тип:

AvailabilityGroup[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

ByObject
Position:2
Обязательно:True
Значение из конвейера:True
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Path

Specifies the path of the availability group that this cmdlet fails over. If you do not specify this parameter, this cmdlet uses current working location.

Свойства параметра

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

ByPath
Position:2
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Script

Indicates that this cmdlet returns a Transact-SQL script that performs the task that this cmdlet performs.

Свойства параметра

Тип:SwitchParameter
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-WhatIf

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

Свойства параметра

Тип:SwitchParameter
Default value:False
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:wi

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

Входные данные

Microsoft.SqlServer.Management.Smo.AvailabilityGroup

You can pass an availability group to this cmdlet.