Remove-SqlAvailabilityDatabase
Rimuove un database di disponibilità dal relativo gruppo di disponibilità.
Sintassi
Remove-SqlAvailabilityDatabase
[-Path] <String[]>
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-ProgressAction <ActionPreference>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Remove-SqlAvailabilityDatabase
[-InputObject] <AvailabilityDatabase[]>
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-ProgressAction <ActionPreference>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Descrizione
Il cmdlet remove-SqlAvailabilityDatabase
Se si esegue questo cmdlet nell'istanza del server che ospita la replica primaria, il cmdlet rimuove il database primario e tutti i database secondari corrispondenti dal gruppo di disponibilità.
Se si esegue questo cmdlet in un'istanza del server che ospita una replica secondaria, il cmdlet rimuove solo il database secondario locale dal gruppo di disponibilità. Il database secondario non viene più aggiunto al gruppo di disponibilità, ma altre copie del database continuano a essere aggiunte.
Esempio
Esempio 1: Rimuovere un database da un gruppo di disponibilità
PS C:\> Remove-SqlAvailabilityDatabase -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityDatabases\Database16"
Questo comando rimuove il database di disponibilità denominato Database16
dal gruppo di disponibilità denominato MainAG
.
Questo comando viene eseguito nell'istanza del server che ospita la replica primaria.
Pertanto, rimuove il database primario e tutti i relativi database secondari corrispondenti dal gruppo di disponibilità.
La sincronizzazione dei dati non viene più eseguita per questo database in qualsiasi replica secondaria.
Esempio 2: Rimuovere tutti i database da un gruppo di disponibilità
PS C:\> Get-ChildItem "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityDatabases" | Remove-SqlAvailabilityDatabase
Questo comando ottiene tutti i database di disponibilità che appartengono a MainAG
e quindi li passa al cmdlet corrente usando l'operatore pipeline. Il cmdlet corrente rimuove ogni database di disponibilità.
Esempio 3: Rimuovere un database secondario da un gruppo di disponibilità
PS C:\> Remove-SqlAvailabilityDatabase -Path "SQLSERVER:\Sql\SecondaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityDatabases\Database16"
Questo comando rimuove il database secondario denominato Database16
dalla replica secondaria ospitata dall'istanza del server denominata SecondaryServer\Instance
. La sincronizzazione dei dati nei database secondari rimossi viene arrestata.
Questo comando non influisce sul database primario o su altri database secondari.
Esempio 4: Creare uno script per rimuovere un database da un gruppo di disponibilità
PS C:\> Remove-SqlAvailabilityDatabase -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityDatabases\Database16" -Script
Questo comando crea uno script Transact-SQL che rimuove il database di disponibilità denominato Database16
dal gruppo di disponibilità denominato MainAG
.
Il comando non esegue questa azione.
Parametri
-AccessToken
Token di accesso usato per eseguire l'autenticazione a SQL Server, come alternativa all'autenticazione utente/password o windows.
Può essere usato, ad esempio, per connettersi a SQL Azure DB
e SQL Azure Managed Instance
usando un Service Principal
o un Managed Identity
.
Il parametro da usare può essere una stringa che rappresenta il token o un oggetto PSAccessToken
restituito eseguendo Get-AzAccessToken -ResourceUrl https://database.windows.net
.
Questo parametro è nuovo nella versione 22 del modulo.
Tipo: | PSObject |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Confirm
Richiede conferma prima di eseguire il cmdlet.
Tipo: | SwitchParameter |
Alias: | cf |
Posizione: | Named |
Valore predefinito: | False |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Encrypt
Tipo di crittografia da usare per la connessione a SQL Server.
Questo valore esegue il mapping alla proprietà Encrypt
SqlConnectionEncryptOption
sull'oggetto SqlConnection del driver Microsoft.Data.SqlClient.
Nella versione 22 del modulo, il valore predefinito è Optional
(per compatibilità con v21). Nella versione 23+ del modulo, il valore predefinito sarà "Obbligatorio", che potrebbe creare una modifica di rilievo per gli script esistenti.
Questo parametro è nuovo nella versione 22 del modulo.
Tipo: | String |
Valori accettati: | Mandatory, Optional, Strict |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-HostNameInCertificate
Nome host da usare per convalidare il certificato TLS/SSL di SQL Server. È necessario passare questo parametro se l'istanza di SQL Server è abilitata per Forza crittografia e si vuole connettersi a un'istanza usando nome host/nome breve. Se questo parametro viene omesso, è necessario passare il nome di dominio completo (FQDN) a -ServerInstance per connettersi a un'istanza di SQL Server abilitata per Forza crittografia.
Questo parametro è nuovo nella versione 22 del modulo.
Tipo: | String |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-InputObject
Specifica il database di disponibilità, come oggetto AvailabilityDatabase, rimosso da questo cmdlet.
Tipo: | AvailabilityDatabase[] |
Posizione: | 1 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-Path
Specifica il percorso di un database di disponibilità che viene rimosso dal cmdlet.
Tipo: | String[] |
Posizione: | 1 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-ProgressAction
Determina in che modo PowerShell risponde agli aggiornamenti dello stato generati da uno script, un cmdlet o un provider, ad esempio le barre di stato generate dal cmdlet Write-Progress. Il cmdlet Write-Progress crea barre di stato che mostrano lo stato di un comando.
Tipo: | ActionPreference |
Alias: | proga |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Script
Indica che questo cmdlet restituisce un Transact-SQL script che esegue l'attività eseguita da questo cmdlet.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-TrustServerCertificate
Indica se il canale verrà crittografato durante il bypass della catena di certificati per convalidare l'attendibilità.
Nella versione 22 del modulo, il valore predefinito è $true
(per compatibilità con v21). Nella versione 23+ del modulo, il valore predefinito sarà "$false", che potrebbe creare una modifica di rilievo per gli script esistenti.
Questo parametro è nuovo nella versione 22 del modulo.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-WhatIf
Mostra cosa accadrebbe se il cmdlet viene eseguito. Il cmdlet non viene eseguito.
Tipo: | SwitchParameter |
Alias: | wi |
Posizione: | Named |
Valore predefinito: | False |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
Input
Microsoft.SqlServer.Management.Smo.AvailabilityDatabase
È possibile passare un database di disponibilità a questo cmdlet.