Freigeben über


Set-SqlAvailabilityGroup

Legt Einstellungen für eine Verfügbarkeitsgruppe fest.

Syntax

ByPath (Standardwert)

Set-SqlAvailabilityGroup
    [[-Path] <String>]
    [-AutomatedBackupPreference <AvailabilityGroupAutomatedBackupPreference>]
    [-FailureConditionLevel <AvailabilityGroupFailureConditionLevel>]
    [-HealthCheckTimeout <Int32>]
    [-DatabaseHealthTrigger <Boolean>]
    [-RequiredSynchronizedSecondariesToCommit <Int32>]
    [-Script]
    [-AccessToken <PSObject>]
    [-TrustServerCertificate]
    [-HostNameInCertificate <String>]
    [-Encrypt <String>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ByObject

Set-SqlAvailabilityGroup
    [-InputObject] <AvailabilityGroup>
    [-AutomatedBackupPreference <AvailabilityGroupAutomatedBackupPreference>]
    [-FailureConditionLevel <AvailabilityGroupFailureConditionLevel>]
    [-HealthCheckTimeout <Int32>]
    [-DatabaseHealthTrigger <Boolean>]
    [-RequiredSynchronizedSecondariesToCommit <Int32>]
    [-Script]
    [-AccessToken <PSObject>]
    [-TrustServerCertificate]
    [-HostNameInCertificate <String>]
    [-Encrypt <String>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Beschreibung

Das Cmdlet Set-SqlAvailabilityGroup ändert Einstellungen für eine vorhandene Verfügbarkeitsgruppe in AlwaysOn-Verfügbarkeitsgruppen. Sie können die automatische Sicherungseinstellung, die Fehlerbedingungsebene und das Timeout der Integritätsprüfung ändern. Sie müssen dieses Cmdlet auf der Serverinstanz ausführen, die das primäre Replikat hosten soll.

Beispiele

Beispiel 1: Ändern des Timeoutzeitraums für die Integritätsprüfung

PS C:\> Set-SqlAvailabilityGroup -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MAinAG" -HealthCheckTimeout 120000

Mit diesem Befehl wird die Timeouteigenschaft für die Integritätsprüfung in der Verfügbarkeitsgruppe geändert, die in MainAG Sekunden oder zwei Minuten benannt ist120. Wenn das automatische Failover aktiviert ist, wird nach dieser Zeitspanne alwaysOn-Verfügbarkeitsgruppen ein automatisches Failover initiiert.

Beispiel 2: Ändern der automatischen Sicherungseinstellung

PS C:\> Set-SqlAvailabilityGroup -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG" -AutomatedBackupPreference SecondaryOnly

Mit diesem Befehl wird die automatische Sicherungseinstellung für die Verfügbarkeitsgruppe geändert, die in "" benannt MainAG ist SecondaryOnly. Automatisierte Sicherungen von Datenbanken in dieser Verfügbarkeitsgruppe treten nicht im primären Replikat auf. Stattdessen treten automatisierte Sicherungen auf dem sekundären Replikat auf, das die höchste Sicherungspriorität aufweist.

Beispiel 3: Ändern der Fehlerbedingungsstufe

PS C:\> Set-SqlAvailabilityGroup -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG" -FailureConditionLevel OnServerDown

Mit diesem Befehl wird die Fehlerbedingungsstufe für die Verfügbarkeitsgruppe geändert, die so benannt MainAG ist OnServerDown. Wenn die Serverinstanz, die das primäre Replikat hostt, offline und wenn das automatische Failover aktiviert ist, startet AlwaysOn-Verfügbarkeitsgruppen ein automatisches Failover.

Beispiel 4: Ändern der Anzahl der "SYNCHRONOUS_COMMIT"-Secondärdateien, die für Transaktionen verfügbar sein müssen, um sich für den primären Commit zu verpflichten

# Get server and AG
PS C:\> CD 'SQLSERVER:\SQL\some-hostname\Default'
PS SQLSERVER:\SQL\some-hostname\Default> $server = Get-Item $PWD
PS SQLSERVER:\SQL\some-hostname\Default> $ag = $server.AvailabilityGroups[0]
# Alter AG with RequiredCopiesToCommit = 4
PS SQLSERVER:\SQL\some-hostname\Default> $ag | Set-SqlAvailabilityGroup -RequiredSynchronizedSecondariesToCommit 4

Note: an exception will be thrown if the -RequiredSynchronizedSecondariesToCommit parameter is used when
the target server version is SQL Server 2016 or lower.

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

-AutomatedBackupPreference

Gibt die automatische Sicherungseinstellung für die Verfügbarkeitsgruppe an. Die zulässigen Werte für diesen Parameter sind:

  • Primär. Gibt an, dass die Sicherungen immer im primären Replikat auftreten. Diese Option unterstützt die Verwendung von Features, die nicht verfügbar sind, wenn die Sicherung auf einem sekundären Replikat ausgeführt wird, z. B. differenzielle Sicherungen.
  • SecondaryOnly. Gibt an, dass Sicherungen nie für primäre Replikate ausgeführt werden. Wenn das primäre Replikat das einzige Onlinereplikat ist, tritt die Sicherung nicht auf.
  • Sekundär. Gibt an, dass Sicherungen auf sekundären Replikaten auftreten, es sei denn, das primäre Replikat ist das einzige Replikat online. Anschließend tritt die Sicherung auf dem primären Replikat auf.
  • Keiner. Gibt an, dass der primäre oder sekundäre Status bei der Entscheidung, welches Replikat Sicherungen ausführt, nicht berücksichtigt wird. Stattdessen bestimmen die Sicherungspriorität und der Onlinestatus, welches Replikat Sicherungen ausführt.

Parametereigenschaften

Typ:AvailabilityGroupAutomatedBackupPreference
Standardwert:None
Zulässige Werte:Primary, SecondaryOnly, Secondary, None, 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

-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

-DatabaseHealthTrigger

Gibt an, ob ein automatisches Failover der Verfügbarkeitsgruppe ausgelöst werden soll, wenn ein Benutzerdatenbankreplikat innerhalb einer Verfügbarkeitsgruppe auf eine Datenbankfehlerbedingung stößt.

Parametereigenschaften

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

-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

-FailureConditionLevel

Gibt das automatische Failoververhalten der Verfügbarkeitsgruppe an. Die zulässigen Werte für diesen Parameter sind:

  • OnServerDown. Failover oder Neustart, wenn der SQL Server-Dienst beendet wird.
  • OnServerUnresponsive. Failover oder Neustart, wenn eine Bedingung niedrigerer Werte erfüllt ist, plus wenn der SQL Server-Dienst mit dem Cluster verbunden ist und der HealthCheckTimeout-Schwellenwert überschritten wird oder wenn das Verfügbarkeitsreplikat, das sich derzeit in der primären Rolle befindet, in einem fehlerhaften Zustand ist.
  • OnCriticalServerError. Failover oder Neustart, wenn eine Bedingung mit einem niedrigeren Wert erfüllt ist, und wenn ein interner kritischer Serverfehler auftritt, einschließlich des Arbeitsspeicherzustands, schwerwiegender Schreibzugriffsverletzung oder zu viel Dumping.
  • OnModerateServerError. Failover oder Neustart, wenn eine Bedingung niedrigeren Werts erfüllt ist, und wenn ein moderater Serverfehler auftritt, enthält wich wich persistenten Zustand außerhalb des Arbeitsspeichers.
  • OnAnyQualifiedFailureConditions. Failover oder Neustart, wenn eine Bedingung mit niedrigerem Wert erfüllt ist, und wenn eine qualifizierende Fehlerbedingung auftritt, einschließlich der Threadausschöpfung des Modul-Workers und der nicht aufgelösten Deadlock erkannt.

Parametereigenschaften

Typ:AvailabilityGroupFailureConditionLevel
Standardwert:None
Zulässige Werte:OnServerDown, OnServerUnresponsive, OnCriticalServerErrors, OnModerateServerErrors, OnAnyQualifiedFailureCondition, 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

-HealthCheckTimeout

Gibt die Zeitdauer in Millisekunden an, nach der Always On-Verfügbarkeitsgruppen einen nicht reagierenden Server als fehlerhafter Server deklarieren.

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

-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, die dieses Cmdlet ändert.

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ügbarkeitsdatenbank an, die vom Cmdlet geändert wird. 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

-RequiredSynchronizedSecondariesToCommit

Die Anzahl der synchronen Commit-Secondärdateien, die verfügbar sein müssen, um einen Commit für die primäre Datei ausführen zu können.

Wenn eine SYNCHRONOUS_COMMIT sekundäre Verbindung mit der primären Verbindung für einige Zeit getrennt wird, wird sie von der primären Demo herabgestuft, um Blockierungs-Commits zu ASYNCHRONOUS_COMMIT vermeiden. Wenn der Primäre dann nicht verfügbar ist und der Benutzer zu einem dieser Secondaries fehlschlagen möchte, kann es zu Datenverlusten kommen. Durch Festlegen von RequiredSynchronizedSecondariesToCommit auf eine bestimmte Zahl kann der Benutzer den Datenverlust verhindern, da der primäre Commit blockiert, wenn zu viele Secondärdateien herabgestuft ASYNCHRONOUS_COMMITwerden.

Der Standardwert dieser Einstellung ist 0, was bedeutet, dass der primäre Commit nie blockiert wird. Dies ist identisch mit dem Verhalten vor SQL Server 2017.

Parametereigenschaften

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

-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