Compartir a través de


Switch-SqlAvailabilityGroup

Inicia una conmutación por error de un grupo de disponibilidad en una réplica secundaria.

Sintaxis

Switch-SqlAvailabilityGroup
      [-AllowDataLoss]
      [-Force]
      [[-Path] <String[]>]
      [-Script]
      [-AccessToken <PSObject>]
      [-TrustServerCertificate]
      [-HostNameInCertificate <String>]
      [-Encrypt <String>]
      [-ProgressAction <ActionPreference>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Switch-SqlAvailabilityGroup
      [-AllowDataLoss]
      [-Force]
      [-InputObject] <AvailabilityGroup[]>
      [-Script]
      [-AccessToken <PSObject>]
      [-TrustServerCertificate]
      [-HostNameInCertificate <String>]
      [-Encrypt <String>]
      [-ProgressAction <ActionPreference>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Description

El cmdlet switch-SqlAvailabilityGroup inicia una conmutación por error de un grupo de disponibilidad en una réplica secundaria especificada. Ejecute este cmdlet en la réplica secundaria de destino. Después de la conmutación por error, la réplica secundaria se convierte en la réplica principal.

Ejemplos

Ejemplo 1: Conmutación por error de un grupo de disponibilidad

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

Este comando realiza una conmutación por error manual del grupo de disponibilidad MainAG a la instancia del servidor denominada SecondaryServer\InstanceName. Este comando no permite la pérdida de datos. Ejecute este comando en la instancia del servidor que hospeda la réplica secundaria a la que se va a conmutar por error.

Ejemplo 2: Forzar la conmutación por error de un grupo de disponibilidad

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

Este comando realiza una conmutación por error manual del grupo de disponibilidad MainAG a la instancia del servidor denominada SecondaryServer\InstanceName. El comando especifica el parámetro AllowDataLoss. Por lo tanto, la conmutación por error tiene el potencial de pérdida de datos y el sistema le pide confirmación. Especifique el parámetro Force para omitir la confirmación.

Ejemplo 3: Creación de un script para conmutar por error un grupo de disponibilidad

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

Este comando crea un script de Transact-SQL que realiza una conmutación por error manual del grupo de disponibilidad MainAG a la instancia de servidor denominada SecondaryServer\InstanceName. El script no permite la pérdida de datos. El comando no provoca la conmutación por error.

Parámetros

-AccessToken

El token de acceso que se usa para autenticarse en SQL Server, como alternativa a la autenticación de usuario o contraseña de Windows.

Esto se puede usar, por ejemplo, para conectarse a SQL Azure DB y SQL Azure Managed Instance mediante un Service Principal o un Managed Identity.

El parámetro que se va a usar puede ser una cadena que representa el token o un objeto PSAccessToken tal como se devuelve mediante la ejecución de Get-AzAccessToken -ResourceUrl https://database.windows.net.

Este parámetro es nuevo en la versión 22 del módulo.

Tipo:PSObject
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-AllowDataLoss

Indica que este cmdlet inicia una conmutación por error forzada a la réplica secundaria de destino. Es posible la pérdida de datos. A menos que especifique el parámetro Force o Script, el cmdlet le pedirá confirmación.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Confirm

Le pide confirmación antes de ejecutar el cmdlet.

Tipo:SwitchParameter
Alias:cf
Posición:Named
Valor predeterminado:False
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Encrypt

Tipo de cifrado que se va a usar al conectarse a SQL Server.

Este valor se asigna a la propiedad EncryptSqlConnectionEncryptOption en el objeto SqlConnection del controlador Microsoft.Data.SqlClient.

En la versión 22 del módulo, el valor predeterminado es Optional (por compatibilidad con v21). En la versión 23+ del módulo, el valor predeterminado será "Obligatorio", que puede crear un cambio importante para los scripts existentes.

Este parámetro es nuevo en la versión 22 del módulo.

Tipo:String
Valores aceptados:Mandatory, Optional, Strict
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Force

Obliga a que el comando se ejecute sin pedir confirmación del usuario. Este cmdlet le pedirá confirmación solo si especifica el parámetro AllowDataLoss.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-HostNameInCertificate

Nombre de host que se va a usar para validar el certificado TLS/SSL de SQL Server. Debe pasar este parámetro si la instancia de SQL Server está habilitada para Forzar cifrado y desea conectarse a una instancia mediante el nombre de host o el nombre corto. Si se omite este parámetro, es necesario pasar el nombre de dominio completo (FQDN) a -ServerInstance es necesario para conectarse a una instancia de SQL Server habilitada para Forzar cifrado.

Este parámetro es nuevo en la versión 22 del módulo.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-InputObject

Especifica el grupo de disponibilidad que este cmdlet conmuta por error.

Tipo:AvailabilityGroup[]
Posición:1
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-Path

Especifica la ruta de acceso del grupo de disponibilidad que este cmdlet conmuta por error. Si no especifica este parámetro, este cmdlet usa la ubicación de trabajo actual.

Tipo:String[]
Posición:1
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-ProgressAction

Determina cómo Responde PowerShell a las actualizaciones de progreso generadas por un script, cmdlet o proveedor, como las barras de progreso generadas por el cmdlet Write-Progress. El cmdlet Write-Progress crea barras de progreso que muestran el estado de un comando.

Tipo:ActionPreference
Alias:proga
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Script

Indica que este cmdlet devuelve un script de Transact-SQL que realiza la tarea que realiza este cmdlet.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-TrustServerCertificate

Indica si el canal se cifrará mientras se pasa la cadena de certificados para validar la confianza.

En la versión 22 del módulo, el valor predeterminado es $true (por compatibilidad con v21). En la versión 23+ del módulo, el valor predeterminado será "$false", que puede crear un cambio importante para los scripts existentes.

Este parámetro es nuevo en la versión 22 del módulo.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-WhatIf

Muestra lo que sucedería si el cmdlet se ejecuta. El cmdlet no se ejecuta.

Tipo:SwitchParameter
Alias:wi
Posición:Named
Valor predeterminado:False
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

Entradas

Microsoft.SqlServer.Management.Smo.AvailabilityGroup[]

Puede pasar un grupo de disponibilidad a este cmdlet.