Switch-SqlAvailabilityGroup
Avvia un failover di un gruppo di disponibilità in una replica secondaria.
Sintassi
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>]
Descrizione
Il cmdlet Switch-SqlAvailabilityGroup avvia un failover di un gruppo di disponibilità in una replica secondaria specificata. Eseguire questo cmdlet nella replica secondaria di destinazione. Dopo il failover, la replica secondaria diventa la replica primaria.
Esempio
Esempio 1: Eseguire il failover di un gruppo di disponibilità
PS C:\> Switch-SqlAvailabilityGroup -Path "SQLSERVER:\Sql\SecondaryServer\InstanceName\AvailabilityGroups\MainAG"
Questo comando esegue un failover manuale del gruppo MainAG
di disponibilità nell'istanza del server denominata SecondaryServer\InstanceName
.
Questo comando non consente la perdita di dati.
Eseguire questo comando nell'istanza del server che ospita la replica secondaria in cui eseguire il failover.
Esempio 2: Forzare il failover di un gruppo di disponibilità
PS C:\> Switch-SqlAvailabilityGroup -Path "SQLSERVER:\Sql\SecondaryServer\InstanceName\AvailabilityGroups\MainAG" -AllowDataLoss
Questo comando esegue un failover manuale del gruppo MainAG
di disponibilità nell'istanza del server denominata SecondaryServer\InstanceName
.
Il comando specifica il parametro AllowDataLoss .
Pertanto, il failover ha il potenziale di perdita di dati e il comando richiede la conferma.
Specificare il parametro Force per ignorare la conferma.
Esempio 3: Creare uno script per eseguire il failover di un gruppo di disponibilità
PS C:\> Switch-SqlAvailabilityGroup -Path "SQLSERVER:\Sql\SecondaryServer\InstanceName\AvailabilityGroups\MainAG" -Script
Questo comando crea uno script Transact-SQL che esegue un failover manuale del gruppo MainAG
di disponibilità nell'istanza del server denominata SecondaryServer\InstanceName
.
Lo script non consente la perdita di dati. Il comando non causa il failover.
Parametri
-AccessToken
Token di accesso usato per eseguire l'autenticazione per SQL Server, in alternativa all'autenticazione utente/password o Windows.
Può essere usato, ad esempio, per connettersi a SQL Azure DB
e SQL Azure Managed Instance
usando un Service Principal
oggetto o .Managed Identity
Il parametro da usare può essere una stringa che rappresenta il token o un PSAccessToken
oggetto restituito eseguendo Get-AzAccessToken -ResourceUrl https://database.windows.net
.
Questo parametro è nuovo nella versione 22 del modulo.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AllowDataLoss
Indica che questo cmdlet avvia un failover forzato nella replica secondaria di destinazione. È possibile che si verifichi una perdita dei dati, A meno che non si specifichi il parametro Force o Script , il cmdlet richiede la conferma.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
Richiede la conferma dell'utente prima di eseguire il cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Encrypt
Tipo di crittografia da utilizzare per la connessione a SQL Server.
Questo valore esegue il Encrypt
mapping alla proprietà SqlConnectionEncryptOption
nell'oggetto SqlConnection del driver Microsoft.Data.SqlClient.
Nella versione 22 del modulo il valore predefinito è Optional
(per compatibilità con la versione 21). Nella versione 23+ del modulo il valore predefinito sarà "Obbligatorio", che può creare una modifica di rilievo per gli script esistenti.
Questo parametro è nuovo nella versione 22 del modulo.
Type: | String |
Accepted values: | Mandatory, Optional, Strict |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Force
Forza l'esecuzione del comando senza chiedere conferma all'utente. Questo cmdlet richiede la conferma solo se si specifica il parametro AllowDataLoss .
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-HostNameInCertificate
Nome host da usare per la convalida del certificato TLS/SSL di SQL Server. È necessario passare questo parametro se l'istanza di SQL Server è abilitata per Forza crittografia e si vuole connettersi a un'istanza usando nome host/nome breve. Se questo parametro viene omesso, è necessario passare il nome di dominio completo (FQDN) a -ServerInstance per connettersi a un'istanza di SQL Server abilitata per Forza crittografia.
Questo parametro è nuovo nella versione 22 del modulo.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Specifica il gruppo di disponibilità su cui viene eseguito il failover di questo cmdlet.
Type: | AvailabilityGroup[] |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Path
Specifica il percorso del gruppo di disponibilità su cui viene eseguito il failover di questo cmdlet. Se non si specifica questo parametro, questo cmdlet usa la posizione di lavoro corrente.
Type: | String[] |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Script
Indica che questo cmdlet restituisce uno script Transact-SQL che esegue l'attività eseguita da questo cmdlet.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-TrustServerCertificate
Indica se il canale verrà crittografato durante il bypass della catena di certificati per convalidare l'attendibilità.
Nella versione 22 del modulo il valore predefinito è $true
(per compatibilità con la versione 21). Nella versione 23+ del modulo il valore predefinito sarà "$false", che può creare una modifica di rilievo per gli script esistenti.
Questo parametro è nuovo nella versione 22 del modulo.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Mostra l'esito in caso di esecuzione del cmdlet. Il cmdlet non viene eseguito.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Input
Microsoft.SqlServer.Management.Smo.AvailabilityGroup[]
È possibile passare un gruppo di disponibilità a questo cmdlet.