Freigeben über


Set-SqlAvailabilityReplica

Legt die Einstellungen für ein Verfügbarkeitsreplikat fest.

Syntax

ByPath (Standardwert)

Set-SqlAvailabilityReplica
    [[-Path] <String>]
    [-AvailabilityMode <AvailabilityReplicaAvailabilityMode>]
    [-FailoverMode <AvailabilityReplicaFailoverMode>]
    [-EndpointUrl <String>]
    [-SessionTimeout <Int32>]
    [-ConnectionModeInPrimaryRole <AvailabilityReplicaConnectionModeInPrimaryRole>]
    [-ConnectionModeInSecondaryRole <AvailabilityReplicaConnectionModeInSecondaryRole>]
    [-SeedingMode <AvailabilityReplicaSeedingMode>]
    [-BackupPriority <Int32>]
    [-ReadOnlyRoutingList <String[]>]
    [-ReadonlyRoutingConnectionUrl <String>]
    [-LoadBalancedReadOnlyRoutingList <String[][]>]
    [-Script]
    [-AccessToken <PSObject>]
    [-TrustServerCertificate]
    [-HostNameInCertificate <String>]
    [-Encrypt <String>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ByObject

Set-SqlAvailabilityReplica
    [-InputObject] <AvailabilityReplica>
    [-AvailabilityMode <AvailabilityReplicaAvailabilityMode>]
    [-FailoverMode <AvailabilityReplicaFailoverMode>]
    [-EndpointUrl <String>]
    [-SessionTimeout <Int32>]
    [-ConnectionModeInPrimaryRole <AvailabilityReplicaConnectionModeInPrimaryRole>]
    [-ConnectionModeInSecondaryRole <AvailabilityReplicaConnectionModeInSecondaryRole>]
    [-SeedingMode <AvailabilityReplicaSeedingMode>]
    [-BackupPriority <Int32>]
    [-ReadOnlyRoutingList <String[]>]
    [-ReadonlyRoutingConnectionUrl <String>]
    [-LoadBalancedReadOnlyRoutingList <String[][]>]
    [-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 der Serverinstanz aus, die das primäre Replikat hosten soll.

Beispiele

Beispiel 1: Ändern eines Replikatverfügbarkeitsmodus und eines automatischen Failovers

PS C:\> Set-SqlAvailabilityReplica -AvailabilityMode "SynchronousCommit" -FailoverMode Automatic -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityReplicas\Replica02"

Mit diesem Befehl wird das In der Verfügbarkeitsgruppe benannte Replica02 Replikat so geändert MainAG , dass synchronous-commit der Verfügbarkeitsmodus verwendet und unterstützt wird automatic failover.

Beispiel 2: Ändern eines Replikats zur Unterstützung eines erzwungenen manuellen Failovers

PS C:\> Set-SqlAvailabilityReplica -AvailabilityMode AsynchronousCommit -FailoverMode Manual -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityReplicas\Replica02"

Mit diesem Befehl wird das in der Verfügbarkeitsgruppe benannte Replica02 Replikat so geändert MainAG , dass er den Verfügbarkeitsmodus verwendet asynchronous-commit und nur forced manual failoverunterstü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"

Mit diesem Befehl wird das Replikat Replica02 in der Verfügbarkeitsgruppe MainAG so geändert, dass alle Verbindungen in der sekundären Rolle zulässig sind. Auf diese Weise können Sie schreibgeschützte Datenverarbeitungsworkloads in sekundäre Replikate entladen.

Beispiel 4: Konfigurieren eines primären Replikats und sekundären Replikats für das readonly-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

Der erste Befehl ändert den Speicherort an einem Speicherort im SQLSERVER:-Anbieter.

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"

Mit diesem Befehl wird die Sicherungspriorität des Verfügbarkeitsreplikats Replica02 auf 60. Diese Priorität wird von der Serverinstanz verwendet, die das primäre Replikat hostt, um zu entscheiden, welches Replikat eine automatisierte Sicherungsanforderung für eine Datenbank in der Verfügbarkeitsgruppe verwenden 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 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

-AvailabilityMode

Gibt den Replikatverfügbarkeitsmodus an.

Sie können einen Wert von $Null.

Parametereigenschaften

Typ:AvailabilityReplicaAvailabilityMode
Standardwert:None
Zulässige Werte:AsynchronousCommit, SynchronousCommit, Unknown, ConfigurationOnly
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

-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 zwischen 0 und 100. Der Satz von Replikaten, die online und verfügbar sind, führt das Replikat mit der höchsten Priorität die Sicherung aus.

Ein Wert von Null (0) gibt an, dass das Replikat kein Kandidat ist.

Parametereigenschaften

Typ:Int32
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

-ConnectionModeInPrimaryRole

Gibt an, wie das Verfügbarkeitsreplikat Verbindungen verarbeitet, wenn sie sich in der primären Rolle befindet. Die zulässigen Werte für diesen Parameter sind:

  • AllowReadWriteConnections. Ermöglicht Lese-/Schreibverbindungen.
  • AllowAllConnections. Lässt alle Verbindungen zu.

Parametereigenschaften

Typ:AvailabilityReplicaConnectionModeInPrimaryRole
Standardwert:None
Zulässige Werte:AllowAllConnections, AllowReadWriteConnections, Unknown
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

-ConnectionModeInSecondaryRole

Gibt an, wie das Verfügbarkeitsreplikat Verbindungen verarbeitet, wenn sie sich in der sekundären Rolle befindet. Die zulässigen Werte für diesen Parameter sind:

  • AllowNoConnections. Unzulässige Verbindungen.
  • AllowReadIntentConnectionsOnly. Lässt nur Leseabsichtsverbindungen zu.
  • AllowAllConnections. Lässt alle Verbindungen zu.

Parametereigenschaften

Typ:AvailabilityReplicaConnectionModeInSecondaryRole
Standardwert:None
Zulässige Werte:AllowNoConnections, AllowReadIntentConnectionsOnly, AllowAllConnections, Unknown
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

-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

-EndpointUrl

Gibt die URL des Datenbankspiegelungsendpunkts an. Diese URL ist eine TCP-Adresse in der folgenden Form: TCP://system-address:port

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

-FailoverMode

Gibt den Failovermodus an.

Sie können einen Wert von $Null.

Parametereigenschaften

Typ:AvailabilityReplicaFailoverMode
Standardwert:None
Zulässige Werte:Automatic, Manual, External, Unknown
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 als AvailabilityGroup-Objekt an, zu dem das Replikat gehört.

Parametereigenschaften

Typ:AvailabilityReplica
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

-LoadBalancedReadOnlyRoutingList

Gibt die schreibgeschützte Routingliste mit Lastenausgleich an.

Die Routingliste ist eine Liste mit Lastenausgleichssätzen, die wiederum Listen von Replikaten sind.

Beispiel: Übergeben eines Werts wie

@('Server1','Server2'),@('Server3'),@('Server4')

bedeutet, dass wir drei Lastenausgleichssätze übergeben: 1 mit 2 Replikaten (Server1 und Server2) und 2 mit nur einem (Server3 bzw. Server4).

Zur Laufzeit sucht SQL Server sequenziell nach allen Lastenausgleichssätzen, bis eine solche gefunden wird, die mindestens für das Replikat verfügbar ist und für den Lastenausgleich verwendet wird.

Wenn also im obigen Beispiel server1 und Server2 nicht verfügbar sind, aber 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.

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

-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 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

-ReadonlyRoutingConnectionUrl

Gibt den vollqualifizierten Domänennamen (Fully Qualified Domain Name, FQDN) und den Port an, der beim Routing an das Replikat für schreibgeschützte Verbindungen verwendet werden soll, wie im folgenden Beispiel gezeigt: TCP://DBSERVER8.manufacturing.Contoso.com:7024

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

-ReadOnlyRoutingList

Gibt eine sortierte Liste der Replikatservernamen an, die die Probesequenz für verbindungsdirektor darstellen, die beim Umleiten schreibgeschützter Verbindungen über dieses Verfügbarkeitsreplikat verwendet werden soll. Dieser Parameter gilt, wenn das Verfügbarkeitsreplikat das aktuelle primäre Replikat der Verfügbarkeitsgruppe ist.

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

-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

-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. Diese Methode erfordert nicht, dass Sie eine Kopie der primären Datenbank im Replikat sichern und wiederherstellen.
  • Manuell. 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.

Parametereigenschaften

Typ:AvailabilityReplicaSeedingMode
Standardwert:None
Zulässige Werte:Automatic, Manual
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

-SessionTimeout

Gibt die Zeitspanne in Sekunden an, um auf eine Antwort zwischen dem primären Replikat und diesem Replikat zu warten, bevor die Verbindung fehlschlägt.

Parametereigenschaften

Typ:Int32
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.AvailabilityReplica