Freigeben über


Remove-SqlAvailabilityDatabase

Entfernt eine Verfügbarkeitsdatenbank aus der Verfügbarkeitsgruppe.

Syntax

ByPath (Standardwert)

Remove-SqlAvailabilityDatabase
    [-Path] <String[]>
    [-Script]
    [-AccessToken <PSObject>]
    [-TrustServerCertificate]
    [-HostNameInCertificate <String>]
    [-Encrypt <String>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ByObject

Remove-SqlAvailabilityDatabase
    [-InputObject] <AvailabilityDatabase[]>
    [-Script]
    [-AccessToken <PSObject>]
    [-TrustServerCertificate]
    [-HostNameInCertificate <String>]
    [-Encrypt <String>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Beschreibung

Das Cmdlet Remove-SqlAvailabilityDatabase entfernt die Verfügbarkeitsdatenbank aus der Verfügbarkeitsgruppe. Der Parameter InputObject oder Path gibt die Verfügbarkeitsdatenbank an.

Wenn Sie dieses Cmdlet auf der Serverinstanz ausführen, die das primäre Replikat hostet, entfernt das Cmdlet die primäre Datenbank und alle entsprechenden sekundären Datenbanken aus der Verfügbarkeitsgruppe.

Wenn Sie dieses Cmdlet auf einer Serverinstanz ausführen, die ein sekundäres Replikat hostet, entfernt das Cmdlet nur die lokale sekundäre Datenbank aus der Verfügbarkeitsgruppe. Die sekundäre Datenbank ist nicht mehr mit der Verfügbarkeitsgruppe verknüpft, aber andere Kopien der Datenbank werden weiterhin verknüpft.

Beispiele

Beispiel 1: Entfernen einer Datenbank aus einer Verfügbarkeitsgruppe

PS C:\> Remove-SqlAvailabilityDatabase -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityDatabases\Database16"

Mit diesem Befehl wird die Verfügbarkeitsdatenbank entfernt, die aus der Verfügbarkeitsgruppe mit dem Namen benannt Database16 wird MainAG. Dieser Befehl wird auf der Serverinstanz ausgeführt, die das primäre Replikat hosten soll. Daher werden die primäre Datenbank und alle entsprechenden sekundären Datenbanken aus der Verfügbarkeitsgruppe entfernt. Die Datensynchronisierung findet für diese Datenbank für jedes sekundäre Replikat nicht mehr statt.

Beispiel 2: Entfernen aller Datenbanken aus einer Verfügbarkeitsgruppe

PS C:\> Get-ChildItem "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityDatabases" | Remove-SqlAvailabilityDatabase

Dieser Befehl ruft alle Verfügbarkeitsdatenbanken ab, die gehören MainAG, und übergibt sie dann mithilfe des Pipelineoperators an das aktuelle Cmdlet. Das aktuelle Cmdlet entfernt jede Verfügbarkeitsdatenbank.

Beispiel 3: Entfernen einer sekundären Datenbank aus einer Verfügbarkeitsgruppe

PS C:\> Remove-SqlAvailabilityDatabase -Path "SQLSERVER:\Sql\SecondaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityDatabases\Database16"

Mit diesem Befehl wird die sekundäre Datenbank Database16 entfernt, die aus dem sekundären Replikat stammt, das von der Serverinstanz mit dem Namen gehostet SecondaryServer\Instancewird. Die Datensynchronisierung mit den entfernten sekundären Datenbanken wird beendet. Dieser Befehl wirkt sich nicht auf die primäre Datenbank oder andere sekundäre Datenbanken aus.

Beispiel 4: Erstellen eines Skripts zum Entfernen einer Datenbank aus einer Verfügbarkeitsgruppe

PS C:\> Remove-SqlAvailabilityDatabase -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityDatabases\Database16" -Script

Mit diesem Befehl wird ein Transact-SQL Skript erstellt, das die Verfügbarkeitsdatenbank Database16 aus der Verfügbarkeitsgruppe namens MainAGentfernt. Der Befehl führt diese Aktion nicht aus.

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

-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

-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ügbarkeitsdatenbank als AvailabilityDatabase-Objekt an, die dieses Cmdlet entfernt.

Parametereigenschaften

Typ:

AvailabilityDatabase[]

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 einer Verfügbarkeitsdatenbank an, die vom Cmdlet entfernt wird.

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

ByPath
Position:1
Obligatorisch.:True
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.AvailabilityDatabase

Sie können eine Verfügbarkeitsdatenbank an dieses Cmdlet übergeben.