Switch-SqlAvailabilityGroup
Inicia um failover de um grupo de disponibilidade para um réplica secundário.
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
O cmdlet Switch-SqlAvailabilityGroup inicia um failover de um grupo de disponibilidade para um réplica secundário especificado. Execute este cmdlet no réplica secundário de destino. Após o failover, o réplica secundário se torna o réplica primário.
Exemplos
Exemplo 1: fazer failover de um grupo de disponibilidade
PS C:\> Switch-SqlAvailabilityGroup -Path "SQLSERVER:\Sql\SecondaryServer\InstanceName\AvailabilityGroups\MainAG"
Esse comando executa um failover manual do grupo MainAG
de disponibilidade para a instância do servidor chamada SecondaryServer\InstanceName
.
Esse comando não permite a perda de dados.
Execute esse comando na instância do servidor que hospeda a réplica secundária à qual fazer failover.
Exemplo 2: Forçar um grupo de disponibilidade a fazer failover
PS C:\> Switch-SqlAvailabilityGroup -Path "SQLSERVER:\Sql\SecondaryServer\InstanceName\AvailabilityGroups\MainAG" -AllowDataLoss
Esse comando executa um failover manual do grupo MainAG
de disponibilidade para a instância do servidor chamada SecondaryServer\InstanceName
.
O comando especifica o parâmetro AllowDataLoss .
Portanto, o failover tem o potencial de perda de dados e o comando solicita confirmação.
Especifique o parâmetro Force para ignorar a confirmação.
Exemplo 3: criar um script para fazer failover de um grupo de disponibilidade
PS C:\> Switch-SqlAvailabilityGroup -Path "SQLSERVER:\Sql\SecondaryServer\InstanceName\AvailabilityGroups\MainAG" -Script
Esse comando cria um script Transact-SQL que executa um failover manual do grupo MainAG
de disponibilidade para a instância do servidor chamada SecondaryServer\InstanceName
.
O script não permite a perda de dados. O comando não causa failover.
Parâmetros
-AccessToken
O token de acesso usado para autenticar para SQL Server, como uma alternativa ao usuário/senha ou à Autenticação do Windows.
Isso pode ser usado, por exemplo, para se conectar SQL Azure DB
e SQL Azure Managed Instance
usar um Service Principal
ou um Managed Identity
.
O parâmetro a ser usado pode ser uma cadeia de caracteres que representa o token ou um PSAccessToken
objeto conforme retornado executando Get-AzAccessToken -ResourceUrl https://database.windows.net
.
Esse parâmetro é novo na v22 do módulo.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AllowDataLoss
Indica que esse cmdlet inicia um failover forçado para o réplica secundário de destino. É possível haver perda de dados. A menos que você especifique o parâmetro Force ou Script , o cmdlet solicitará confirmação.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
Solicita sua confirmação antes de executar o cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Encrypt
O tipo de criptografia a ser usado ao se conectar a SQL Server.
Esse valor é mapeado para a Encrypt
propriedade SqlConnectionEncryptOption
no objeto SqlConnection do driver Microsoft.Data.SqlClient.
Na v22 do módulo, o padrão é Optional
(para compatibilidade com v21). Na v23+ do módulo, o valor padrão será 'Obrigatório', o que pode criar uma alteração interruptiva para scripts existentes.
Esse parâmetro é novo na v22 do 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
Força o comando a ser executado sem solicitar a confirmação do usuário. Esse cmdlet solicitará confirmação somente se você especificar o parâmetro AllowDataLoss .
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-HostNameInCertificate
O nome do host a ser usado na validação do certificado TLS/SSL do SQL Server. Você deve passar esse parâmetro se sua instância de SQL Server estiver habilitada para o Force Encryption e quiser se conectar a uma instância usando nome de host/nome curto. Se esse parâmetro for omitido, passar o FQDN (Nome de Domínio Totalmente Qualificado) para -ServerInstance será necessário para se conectar a uma instância de SQL Server habilitada para o Force Encryption.
Esse parâmetro é novo na v22 do módulo.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Especifica o grupo de disponibilidade que esse cmdlet faz failover.
Type: | AvailabilityGroup[] |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Path
Especifica o caminho do grupo de disponibilidade que esse cmdlet faz failover. Se você não especificar esse parâmetro, esse cmdlet usará o local de trabalho atual.
Type: | String[] |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Script
Indica que esse cmdlet retorna um script Transact-SQL que executa a tarefa que esse cmdlet executa.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-TrustServerCertificate
Indica se o canal será criptografado ao ignorar a cadeia de certificados para validar a confiança.
Na v22 do módulo, o padrão é $true
(para compatibilidade com v21). Na v23+ do módulo, o valor padrão será '$false', o que pode criar uma alteração interruptiva para scripts existentes.
Esse parâmetro é novo na v22 do módulo.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.
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[]
Você pode passar um grupo de disponibilidade para esse cmdlet.