Set-SqlAvailabilityReplica
Legt die Einstellungen für ein Verfügbarkeitsreplikat fest.
Syntax
Set-SqlAvailabilityReplica
[-AvailabilityMode <AvailabilityReplicaAvailabilityMode>]
[-FailoverMode <AvailabilityReplicaFailoverMode>]
[-EndpointUrl <String>]
[-SessionTimeout <Int32>]
[-ConnectionModeInPrimaryRole <AvailabilityReplicaConnectionModeInPrimaryRole>]
[-ConnectionModeInSecondaryRole <AvailabilityReplicaConnectionModeInSecondaryRole>]
[-SeedingMode <AvailabilityReplicaSeedingMode>]
[-BackupPriority <Int32>]
[-ReadOnlyRoutingList <String[]>]
[-ReadonlyRoutingConnectionUrl <String>]
[-LoadBalancedReadOnlyRoutingList <String[][]>]
[[-Path] <String>]
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-SqlAvailabilityReplica
[-AvailabilityMode <AvailabilityReplicaAvailabilityMode>]
[-FailoverMode <AvailabilityReplicaFailoverMode>]
[-EndpointUrl <String>]
[-SessionTimeout <Int32>]
[-ConnectionModeInPrimaryRole <AvailabilityReplicaConnectionModeInPrimaryRole>]
[-ConnectionModeInSecondaryRole <AvailabilityReplicaConnectionModeInSecondaryRole>]
[-SeedingMode <AvailabilityReplicaSeedingMode>]
[-BackupPriority <Int32>]
[-ReadOnlyRoutingList <String[]>]
[-ReadonlyRoutingConnectionUrl <String>]
[-LoadBalancedReadOnlyRoutingList <String[][]>]
[-InputObject] <AvailabilityReplica>
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Beschreibung
Das Cmdlet Set-SqlAvailabilityReplica legt eine Vielzahl von Eigenschaften für ein Verfügbarkeitsreplikat fest oder ändert diese. Führen Sie dieses Cmdlet auf dem Server instance aus, der das primäre Replikat hostet.
Beispiele
Beispiel 1: Ändern eines Replikatverfügbarkeitsmodus und automatisches Failover
PS C:\> Set-SqlAvailabilityReplica -AvailabilityMode "SynchronousCommit" -FailoverMode Automatic -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityReplicas\Replica02"
Mit diesem Befehl wird das Replikat mit dem Namen Replica02
in der Verfügbarkeitsgruppe geändert MainAG
, um den Verfügbarkeitsmodus zu verwenden synchronous-commit
und zu unterstützen automatic failover
.
Beispiel 2: Ändern eines Replikats zur Unterstützung des erzwungenen manuellen Failovers
PS C:\> Set-SqlAvailabilityReplica -AvailabilityMode AsynchronousCommit -FailoverMode Manual -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityReplicas\Replica02"
Dieser Befehl ändert das Replikat mit dem Namen Replica02
in der Verfügbarkeitsgruppe, MainAG
sodass es den Verfügbarkeitsmodus und asynchronous-commit
nur forced manual failover
unterstützt, was zu Datenverlust führen kann.
Beispiel 3: Alle Verbindungen in der sekundären Rolle zulassen
PS C:\> Set-SqlAvailabilityReplica -ConnectionModeInSecondaryRole AllowAllConnections -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityReplicas\Replica02"
Dieser Befehl ändert das Replikat Replica02
in der Verfügbarkeitsgruppe MainAG
, um alle Verbindungen in der sekundären Rolle zuzulassen.
Dadurch können Sie schreibgeschützte Datenverarbeitungsworkloads auf sekundäre Replikate auslagern.
Beispiel 4: Konfigurieren eines primären Replikats und eines sekundären Replikats für schreibgeschütztes Routing
PS C:\> Set-Location "SQLSERVER:\SQL\PrimaryServer\default\AvailabilityGroups\MainAG"
PS C:\> $PrimaryReplica = Get-Item "AvailabilityReplicas\PrimaryServer"
PS C:\> $SecondaryReplica = Get-Item "AvailabilityReplicas\SecondaryServer"
PS C:\> Set-SqlAvailabilityReplica -ReadOnlyRoutingConnectionUrl "TCP://PrimaryServer.domain.com:5022" -InputObject $PrimaryReplica
PS C:\> Set-SqlAvailabilityReplica -ReadOnlyRoutingConnectionUrl "TCP://SecondaryServer.domain.com:5022" -InputObject $SecondaryReplica
PS C:\> Set-SqlAvailabilityReplica -ReadOnlyRoutingList "SecondaryServer","PrimaryServer" -InputObject $PrimaryReplica
Mit dem ersten Befehl wird der Speicherort in einen Speicherort im Anbieter SQLSERVER: geändert.
Der vierte Befehl weist dem primären Replikat eine schreibgeschützte Routing-URL zu. Anschließend wird die Liste für schreibgeschütztes Routing auf dem primären Replikat festgelegt.
Beispiel 5: Ändern der Sicherungspriorität
PS C:\> Set-SqlAvailabilityReplica -BackupPriority 60 -Path "SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MainAG\AvailabilityReplicas\Replica02"
Dieser Befehl legt die Sicherungspriorität des Verfügbarkeitsreplikats Replica02
auf fest 60
.
Diese Priorität wird vom Server instance verwendet, der das primäre Replikat hostet, um zu entscheiden, welches Replikat eine automatisierte Sicherungsanforderung für eine Datenbank in der Verfügbarkeitsgruppe verarbeiten soll. Das Replikat mit der höchsten Priorität wird ausgewählt.
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 |
-AvailabilityMode
Gibt den Replikatverfügbarkeitsmodus an.
Sie können den Wert angeben $Null
.
Type: | AvailabilityReplicaAvailabilityMode |
Accepted values: | AsynchronousCommit, SynchronousCommit, Unknown, ConfigurationOnly |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-BackupPriority
Gibt die gewünschte Priorität der Replikate beim Ausführen von Sicherungen an. Die zulässigen Werte für diesen Parameter sind ganze Zahlen von 0 bis 100. Von den Replikaten, die online und verfügbar sind, führt das Replikat mit der höchsten Priorität die Sicherung aus.
Der Wert null (0) gibt an, dass das Replikat kein Kandidat ist.
Type: | Int32 |
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 |
-ConnectionModeInPrimaryRole
Gibt an, wie das Verfügbarkeitsreplikat Verbindungen verarbeitet, wenn es sich in der primären Rolle befindet. Zulässige Werte für diesen Parameter:
- AllowReadWriteConnections. Ermöglicht Lese-/Schreibverbindungen.
- AllowAllConnections. Lässt alle Verbindungen zu.
Type: | AvailabilityReplicaConnectionModeInPrimaryRole |
Accepted values: | AllowAllConnections, AllowReadWriteConnections, Unknown |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ConnectionModeInSecondaryRole
Gibt an, wie das Verfügbarkeitsreplikat Verbindungen in der sekundären Rolle behandelt. Zulässige Werte für diesen Parameter:
- AllowNoConnections. Verbindungen sind nicht zulässig.
- AllowReadIntentConnectionsOnly. Lässt nur Verbindungen mit Leseabsicht zu.
- AllowAllConnections. Lässt alle Verbindungen zu.
Type: | AvailabilityReplicaConnectionModeInSecondaryRole |
Accepted values: | AllowNoConnections, AllowReadIntentConnectionsOnly, AllowAllConnections, Unknown |
Position: | Named |
Default value: | None |
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 |
-EndpointUrl
Gibt die URL des Datenbankspiegelungsendpunkts an.
Diese URL ist eine TCP-Adresse in der folgenden Form: TCP://system-address:port
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FailoverMode
Gibt den Failovermodus an.
Sie können den Wert angeben $Null
.
Type: | AvailabilityReplicaFailoverMode |
Accepted values: | Automatic, Manual, External, Unknown |
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 als AvailabilityGroup-Objekt an, zu der das Replikat gehört.
Type: | AvailabilityReplica |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-LoadBalancedReadOnlyRoutingList
Gibt die schreibgeschützte Routingliste mit Lastenausgleich an.
Die Routingliste ist eine Liste von Sätzen mit Lastenausgleich, bei denen es sich wiederum um Listen von Replikaten handelt.
Beispiel: Übergeben eines Werts wie
@('Server1','Server2'),@('Server3'),@('Server4')
bedeutet, dass wir 3 Lastenausgleichsgruppen übergeben: 1 mit 2 Replikaten (Server1 und Server2) und 2 mit nur einem Satz (Server3 bzw. Server4).
Zur Laufzeit sucht SQL Server sequenziell nach allen Sätzen mit Lastenausgleich, bis eine solche gefunden wird, dass mindestens auf einem Replikat darin verfügbar ist, und verwenden sie für den Lastenausgleich.
Wenn also im obigen Beispiel server1 und Server2 nicht verfügbar sind, server3 ist, wählt SQL Server Server3 aus.
Dieses Cmdlet legt nur die schreibgeschützte Routingliste fest und überprüft nicht die Verfügbarkeit der angegebenen Replikate.
Type: | String[][] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
Gibt den Pfad der Verfügbarkeitsgruppe an, zu der das Replikat gehört. 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 |
-ReadonlyRoutingConnectionUrl
Gibt den vollqualifizierten Domänennamen (FQDN) und den Port an, die beim Routing an das Replikat für schreibgeschützte Verbindungen verwendet werden sollen, wie im folgenden Beispiel gezeigt: TCP://DBSERVER8.manufacturing.Contoso.com:7024
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ReadOnlyRoutingList
Gibt eine geordnete Liste von Replikatservernamen an, die die Testsequenz darstellen, die verbindungsdirektor beim Umleiten schreibgeschützter Verbindungen über dieses Verfügbarkeitsreplikat verwenden soll. Dieser Parameter gilt, wenn das Verfügbarkeitsreplikat das aktuelle primäre Replikat der Verfügbarkeitsgruppe ist.
Type: | String[] |
Position: | Named |
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 |
-SeedingMode
Gibt an, wie für das sekundäre Replikat zuerst ein Seeding durchgeführt wird.
Zulässige Werte:
- Automatisch. Ermöglicht direktes Seeding. Diese Methode führt für das sekundäre Replikat ein Seeding über das Netzwerk aus. Mit dieser Methode ist es nicht mehr erforderlich, eine Kopie der primären Datenbank zu sichern und auf dem Replikat wiederherzustellen.
- Manuelle Aktion. Gibt das manuelle Seeding an. Bei dieser Methode müssen Sie eine Sicherungskopie der Datenbank auf dem primären Replikat erstellen und diese manuell auf dem sekundären Replikat wiederherstellen.
Type: | AvailabilityReplicaSeedingMode |
Accepted values: | Automatic, Manual |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SessionTimeout
Gibt an, wie lange in Sekunden auf eine Antwort zwischen dem primären Replikat und diesem Replikat gewartet werden soll, bevor die Verbindung fehlschlägt.
Type: | Int32 |
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.AvailabilityReplica