Switch-SqlAvailabilityGroup
Startet ein Failover einer Verfügbarkeitsgruppe zu einem sekundären Replikat.
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>]
Beschreibung
Das Cmdlet Switch-SqlAvailabilityGroup startet ein Failover einer Verfügbarkeitsgruppe zu einem angegebenen sekundären Replikat. Führen Sie dieses Cmdlet auf dem sekundären Zielreplikat aus. Nach dem Failover wird das sekundäre Replikat zum primären Replikat.
Beispiele
Beispiel 1: Failover einer Verfügbarkeitsgruppe
PS C:\> Switch-SqlAvailabilityGroup -Path "SQLSERVER:\Sql\SecondaryServer\InstanceName\AvailabilityGroups\MainAG"
Dieser Befehl führt ein manuelles Failover der Verfügbarkeitsgruppe MainAG
auf den Server instance namens SecondaryServer\InstanceName
aus.
Dieser Befehl lässt keinen Datenverlust zu.
Führen Sie diesen Befehl auf dem Server instance aus, der das sekundäre Replikat hostet, auf das ein Failover ausgeführt werden soll.
Beispiel 2: Erzwingen des Failovers für eine Verfügbarkeitsgruppe
PS C:\> Switch-SqlAvailabilityGroup -Path "SQLSERVER:\Sql\SecondaryServer\InstanceName\AvailabilityGroups\MainAG" -AllowDataLoss
Dieser Befehl führt ein manuelles Failover der Verfügbarkeitsgruppe MainAG
auf den Server instance namens SecondaryServer\InstanceName
aus.
Der Befehl gibt den Parameter AllowDataLoss an .
Daher kann das Failover zu Datenverlust führen, und der Befehl fordert Sie zur Bestätigung auf.
Geben Sie den Force-Parameter an, um die Bestätigung zu überspringen.
Beispiel 3: Erstellen eines Skripts zum Failover einer Verfügbarkeitsgruppe
PS C:\> Switch-SqlAvailabilityGroup -Path "SQLSERVER:\Sql\SecondaryServer\InstanceName\AvailabilityGroups\MainAG" -Script
Dieser Befehl erstellt ein Transact-SQL-Skript, das ein manuelles Failover der Verfügbarkeitsgruppe MainAG
auf den Server instance mit dem Namen SecondaryServer\InstanceName
ausführt.
Das Skript lässt keinen Datenverlust zu. Der Befehl verursacht kein Failover.
Parameter
-AccessToken
Das Zugriffstoken, das zur Authentifizierung bei SQL Server verwendet wird, als Alternative zur Benutzer-/Kennwort- oder Windows-Authentifizierung.
Dies kann z. B. verwendet werden, um eine Verbindung mit SQL Azure DB
und SQL Azure Managed Instance
mithilfe von oder Service Principal
herzustellen Managed Identity
.
Der zu verwendende Parameter kann entweder eine Zeichenfolge sein, die das Token darstellt, oder ein PSAccessToken
Objekt, das durch Ausführen Get-AzAccessToken -ResourceUrl https://database.windows.net
von zurückgegeben wird.
Dieser Parameter ist in v22 des Moduls neu.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AllowDataLoss
Gibt an, dass dieses Cmdlet ein erzwungenes Failover auf das sekundäre Zielreplikat startet. Es können Datenverluste auftreten. Sofern Sie nicht den Force - oder Script-Parameter angeben, werden Sie vom Cmdlet zur Bestätigung aufgefordert.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
Hiermit werden Sie vor der Ausführung des Cmdlets zur Bestätigung aufgefordert.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Encrypt
Der Verschlüsselungstyp, der beim Herstellen einer Verbindung mit SQL Server verwendet werden soll.
Dieser Wert wird der Encrypt
-Eigenschaft SqlConnectionEncryptOption
des SqlConnection-Objekts des Microsoft.Data.SqlClient-Treibers zugeordnet.
In v22 des Moduls ist Optional
der Standardwert (aus Kompatibilität mit v21). In Version 23 und höher des Moduls lautet der Standardwert "Obligatorisch", was zu einer Breaking Change für vorhandene Skripts führen kann.
Dieser Parameter ist in v22 des Moduls neu.
Type: | String |
Accepted values: | Mandatory, Optional, Strict |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Force
Erzwingt die Ausführung des Befehls ohne Aufforderung zur Bestätigung durch den Benutzer. Dieses Cmdlet fordert Sie nur zur Bestätigung auf, wenn Sie den Parameter AllowDataLoss angeben.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-HostNameInCertificate
Der Hostname, der beim Überprüfen des TLS/SSL-Zertifikats von SQL Server verwendet werden soll. Sie müssen diesen Parameter übergeben, wenn Ihr SQL Server instance für "Verschlüsselung erzwingen" aktiviert ist und Sie eine Verbindung mit einem instance mithilfe des Hostnamens/Kurznamens herstellen möchten. Wenn dieser Parameter ausgelassen wird, ist die Übergabe des vollqualifizierten Domänennamens (Fully Qualified Domain Name, FQDN) an -ServerInstance erforderlich, um eine Verbindung mit einem für die Verschlüsselung erzwingen aktivierten SQL Server instance herzustellen.
Dieser Parameter ist in v22 des Moduls neu.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Gibt die Verfügbarkeitsgruppe an, für die von diesem Cmdlet ein Failover ausgeführt wird.
Type: | AvailabilityGroup[] |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Path
Gibt den Pfad der Verfügbarkeitsgruppe an, für die von diesem Cmdlet ein Failover ausgeführt wird. Wenn Sie diesen Parameter nicht angeben, verwendet dieses Cmdlet den aktuellen Arbeitsstandort.
Type: | String[] |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Script
Gibt an, dass dieses Cmdlet ein Transact-SQL-Skript zurückgibt, das die Aufgabe ausführt, die dieses Cmdlet ausführt.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-TrustServerCertificate
Gibt an, ob der Kanal verschlüsselt wird, während das Durchlaufen der Zertifikatkette zum Überprüfen der Vertrauensstellung umgangen wird.
In v22 des Moduls ist $true
der Standardwert (aus Kompatibilität mit v21). In Version 23 und höher des Moduls lautet der Standardwert "$false", was zu einer Breaking Change für vorhandene Skripts führen kann.
Dieser Parameter ist in v22 des Moduls neu.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Zeigt, was geschieht, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Eingaben
Microsoft.SqlServer.Management.Smo.AvailabilityGroup[]
Sie können eine Verfügbarkeitsgruppe an dieses Cmdlet übergeben.