Switch-SqlAvailabilityGroup
Startet ein Failover einer Verfügbarkeitsgruppe zu einem sekundären Replikat.
Syntax
ByPath (Standardwert)
Switch-SqlAvailabilityGroup
[[-Path] <String[]>]
[-AllowDataLoss]
[-Force]
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
ByObject
Switch-SqlAvailabilityGroup
[-InputObject] <AvailabilityGroup[]>
[-AllowDataLoss]
[-Force]
[-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 für das sekundäre 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 die Serverinstanz mit dem Namen SecondaryServer\InstanceNameaus.
Dieser Befehl lässt keinen Datenverlust zu.
Führen Sie diesen Befehl auf der Serverinstanz aus, auf der das sekundäre Replikat gehostet wird, für das ein Failover ausgeführt werden soll.
Beispiel 2: Erzwingen eines Ausfalls einer 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 die Serverinstanz mit dem Namen SecondaryServer\InstanceNameaus.
Der Befehl gibt den Parameter AllowDataLoss an.
Daher hat das Failover das Potenzial eines Datenverlusts, und die Eingabeaufforderungen, die Sie zur Bestätigung auffordern.
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
Mit diesem Befehl wird ein Transact-SQL Skript erstellt, das ein manuelles Failover der Verfügbarkeitsgruppe MainAG auf die Serverinstanz mit dem Namen SecondaryServer\InstanceNamedurchfü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 einer SQL Azure Managed Instance oder einer Service PrincipalManaged 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.netzurückgegeben wird.
Dieser Parameter ist neu in v22 des Moduls.
Parametereigenschaften
| Typ: | PSObject |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-AllowDataLoss
Gibt an, dass dieses Cmdlet ein erzwungenes Failover für das sekundäre Zielreplikat startet. Datenverlust ist möglich. Sofern Sie nicht den Parameter Force oder Script angeben, werden Sie vom Cmdlet zur Bestätigung aufgefordert.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Confirm
Fordert Sie zur Bestätigung auf, bevor Sie das Cmdlet ausführen.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | False |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | vgl |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Encrypt
Der Verschlüsselungstyp, der beim Herstellen einer Verbindung mit SQL Server verwendet werden soll.
Dieser Wert ist der Encrypt Eigenschaft SqlConnectionEncryptOption für das SqlConnection-Objekt des Microsoft.Data.SqlClient-Treibers zugeordnet.
In v22 des Moduls ist Optional der Standardwert (aus Kompatibilität mit v21). In v23+ des Moduls lautet der Standardwert "Verpflichtend", wodurch für vorhandene Skripts eine bahnbrechende Änderung erstellt werden kann.
Dieser Parameter ist neu in v22 des Moduls.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Zulässige Werte: | Mandatory, Optional, Strict |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Force
Erzwingt die Ausführung des Befehls, ohne eine Benutzerbestätigung zu verlangen. Dieses Cmdlet fordert Sie nur zur Bestätigung auf, wenn Sie den Parameter AllowDataLoss angeben.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | 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 Ihre SQL Server-Instanz für die Erzwingungsverschlüsselung aktiviert ist und Sie eine Verbindung mit einer Instanz mit hostname/shortname herstellen möchten. Wenn dieser Parameter nicht angegeben wird, ist das Übergeben des vollqualifizierten Domänennamens (Fully Qualified Domain Name, FQDN) an -ServerInstance erforderlich, um eine Verbindung mit einer SQL Server-Instanz herzustellen, die für die Erzwingungsverschlüsselung aktiviert ist.
Dieser Parameter ist neu in v22 des Moduls.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-InputObject
Gibt die Verfügbarkeitsgruppe an, über die dieses Cmdlet fehlschlägt.
Parametereigenschaften
| Typ: | AvailabilityGroup[] |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
ByObject
| Position: | 1 |
| Obligatorisch.: | True |
| Wert aus Pipeline: | True |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Path
Gibt den Pfad der Verfügbarkeitsgruppe an, über die dieses Cmdlet fehlschlägt. Wenn Sie diesen Parameter nicht angeben, verwendet dieses Cmdlet den aktuellen Arbeitsort.
Parametereigenschaften
| Typ: | String[] |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
ByPath
| Position: | 1 |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Script
Gibt an, dass dieses Cmdlet ein Transact-SQL Skript zurückgibt, das die aufgabe ausführt, die dieses Cmdlet ausführt.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-TrustServerCertificate
Gibt an, ob der Kanal verschlüsselt wird, während die Zertifikatkette umgangen wird, um die Vertrauensstellung zu überprüfen.
In v22 des Moduls ist $true der Standardwert (aus Kompatibilität mit v21). In v23+ des Moduls lautet der Standardwert "$false", wodurch möglicherweise eine änderung für vorhandene Skripts geändert wird.
Dieser Parameter ist neu in v22 des Moduls.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-WhatIf
Zeigt, was passiert, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | False |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | Wi |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
CommonParameters
Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.
Eingaben
Microsoft.SqlServer.Management.Smo.AvailabilityGroup
Sie können eine Verfügbarkeitsgruppe an dieses Cmdlet übergeben.