Switch-SqlAvailabilityGroup
Inicia una conmutación por error de un grupo de disponibilidad en una réplica secundaria.
Syntax
Switch-SqlAvailabilityGroup
[-AllowDataLoss]
[-Force]
[[-Path] <String[]>]
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Switch-SqlAvailabilityGroup
[-AllowDataLoss]
[-Force]
[-InputObject] <AvailabilityGroup[]>
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
El cmdlet Switch-SqlAvailabilityGroup inicia una conmutación por error de un grupo de disponibilidad a 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 MainAG
de disponibilidad a la instancia de 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 realizar la conmutación 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 MainAG
de disponibilidad a la instancia de 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 MainAG
de disponibilidad 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
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
usar o Service Principal
.Managed Identity
El parámetro que se va a usar puede ser una cadena que representa el token o un PSAccessToken
objeto tal como se devuelve mediante la ejecución Get-AzAccessToken -ResourceUrl https://database.windows.net
de .
Este parámetro es nuevo en la versión 22 del módulo.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AllowDataLoss
Indica que este cmdlet inicia una conmutación por error forzada a la réplica secundaria de destino. Es posible que se pierdan datos. A menos que especifique el parámetro Force o Script , el cmdlet le pedirá confirmación.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
Le solicita su confirmación antes de ejecutar el cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Encrypt
Tipo de cifrado que se va a usar al conectarse a SQL Server.
Este valor se asigna a la Encrypt
propiedad SqlConnectionEncryptOption
del 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", lo que puede crear un cambio importante para los scripts existentes.
Este parámetro es nuevo en la versión 22 del módulo.
Type: | String |
Accepted values: | Mandatory, Optional, Strict |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Force
Obliga al comando a ejecutarse sin solicitar la confirmación del usuario. Este cmdlet le pide confirmación solo si especifica el parámetro AllowDataLoss .
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-HostNameInCertificate
Nombre de host que se va a usar al 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 para conectarse a una instancia de SQL Server habilitada para forzar el cifrado.
Este parámetro es nuevo en la versión 22 del módulo.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Especifica el grupo de disponibilidad que este cmdlet conmuta por error.
Type: | AvailabilityGroup[] |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Path
Especifica la ruta de acceso del grupo de disponibilidad en el que se conmuta por error este cmdlet. Si no especifica este parámetro, este cmdlet usa la ubicación de trabajo actual.
Type: | String[] |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Script
Indica que este cmdlet devuelve un script de Transact-SQL que realiza la tarea que realiza este cmdlet.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-TrustServerCertificate
Indica si el canal se cifrará al pasar 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.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Muestra lo que sucedería si se ejecutara el cmdlet. El cmdlet no se ejecuta.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Entradas
Microsoft.SqlServer.Management.Smo.AvailabilityGroup[]
Puede pasar un grupo de disponibilidad a este cmdlet.