Remove-SqlAvailabilityDatabase

Entfernt eine Verfügbarkeitsdatenbank aus ihrer Verfügbarkeitsgruppe.

Syntax

Remove-SqlAvailabilityDatabase
      [-Path] <String[]>
      [-Script]
      [-AccessToken <PSObject>]
      [-TrustServerCertificate]
      [-HostNameInCertificate <String>]
      [-Encrypt <String>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
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 dem Server instance ausführen, der 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 einem Server instance ausführen, der 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 verbunden, aber andere Kopien der Datenbank werden weiterhin eingebunden.

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 mit dem Namen Database16 aus der Verfügbarkeitsgruppe entfernt MainAG. Dieser Befehl wird auf dem Server instance ausgeführt, der das primäre Replikat hostet. Daher werden die primäre Datenbank und alle entsprechenden sekundären Datenbanken aus der Verfügbarkeitsgruppe entfernt. Die Datensynchronisierung für diese Datenbank erfolgt nicht mehr auf einem sekundären Replikat.

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 zu MainAGgehören, 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 namens Database16 aus dem sekundären Replikat entfernt, das vom Server instance gehostet wirdSecondaryServer\Instance. 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 namens Database16 aus der Verfügbarkeitsgruppe mit dem Namen 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 und SQL Azure Managed Instance mithilfe Service Principal von 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.netzurückgegeben wird.

Dieser Parameter ist neu in v22 des Moduls.

Type:PSObject
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

-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 v23+ des Moduls lautet der Standardwert "Obligatorisch", wodurch möglicherweise eine Breaking Change für vorhandene Skripts entsteht.

Dieser Parameter ist neu in v22 des Moduls.

Type:String
Accepted values:Mandatory, Optional, Strict
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 einer instance mithilfe von 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 einem für Die Verschlüsselung erzwingen aktivierten SQL Server instance herzustellen.

Dieser Parameter ist neu in v22 des Moduls.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Gibt die Verfügbarkeitsdatenbank als AvailabilityDatabase-Objekt an, das dieses Cmdlet entfernt.

Type:AvailabilityDatabase[]
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Path

Gibt den Pfad einer Verfügbarkeitsdatenbank an, die vom Cmdlet entfernt wird.

Type:String[]
Position:1
Default value:None
Required:True
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

-TrustServerCertificate

Gibt an, ob der Kanal verschlüsselt wird, während das Durchlaufen der Zertifikatkette zur Überprüfung der Vertrauensstellung umgangen wird.

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 Breaking Change für vorhandene Skripts entsteht.

Dieser Parameter ist neu in v22 des Moduls.

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

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