Remove-SqlAvailabilityDatabase
Supprime une base de données de disponibilité de son groupe de disponibilité.
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>]
Description
L’applet de commande Remove-SqlAvailabilityDatabase supprime la base de données de disponibilité de son groupe de disponibilité. Le paramètre InputObject ou Path spécifie la base de données de disponibilité.
Si vous exécutez cette applet de commande sur le serveur instance qui héberge le réplica principal, l’applet de commande supprime la base de données primaire et toutes les bases de données secondaires correspondantes du groupe de disponibilité.
Si vous exécutez cette applet de commande sur un serveur instance qui héberge un réplica secondaire, l’applet de commande supprime uniquement la base de données secondaire locale du groupe de disponibilité. La base de données secondaire n’est plus jointe au groupe de disponibilité, mais d’autres copies de la base de données continuent d’être jointes.
Exemples
Exemple 1 : Supprimer une base de données d’un groupe de disponibilité
PS C:\> Remove-SqlAvailabilityDatabase -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityDatabases\Database16"
Cette commande supprime la base de données de disponibilité nommée Database16
du groupe de disponibilité nommé MainAG
.
Cette commande s’exécute sur le serveur instance qui héberge le réplica principal.
Par conséquent, il supprime la base de données primaire et toutes ses bases de données secondaires correspondantes du groupe de disponibilité.
La synchronisation des données ne se produit plus pour cette base de données sur les réplica secondaires.
Exemple 2 : Supprimer toutes les bases de données d’un groupe de disponibilité
PS C:\> Get-ChildItem "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityDatabases" | Remove-SqlAvailabilityDatabase
Cette commande obtient toutes les bases de données de disponibilité qui appartiennent à MainAG
, puis les transmet à l’applet de commande actuelle à l’aide de l’opérateur de pipeline. L’applet de commande actuelle supprime chaque base de données de disponibilité.
Exemple 3 : Supprimer une base de données secondaire d’un groupe de disponibilité
PS C:\> Remove-SqlAvailabilityDatabase -Path "SQLSERVER:\Sql\SecondaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityDatabases\Database16"
Cette commande supprime la base de données secondaire nommée Database16
du réplica secondaire hébergé par le serveur instance nommé SecondaryServer\Instance
. La synchronisation des données avec les bases de données secondaires supprimées s’arrête.
Cette commande n'affecte pas la base de données primaire ni aucune autre base de données secondaire.
Exemple 4 : Créer un script pour supprimer une base de données d’un groupe de disponibilité
PS C:\> Remove-SqlAvailabilityDatabase -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityDatabases\Database16" -Script
Cette commande crée un script Transact-SQL qui supprime la base de données de disponibilité nommée Database16
du groupe de disponibilité nommé MainAG
.
La commande n’effectue pas cette action.
Paramètres
-AccessToken
Le jeton d’accès utilisé pour s’authentifier auprès de SQL Server, en guise d’alternative à l’authentification utilisateur/mot de passe ou à l’authentification Windows.
Cela peut être utilisé, par exemple, pour se connecter à et à SQL Azure DB
l’aide d’un Service Principal
ou d’un Managed Identity
.SQL Azure Managed Instance
Le paramètre à utiliser peut être une chaîne représentant le jeton ou un PSAccessToken
objet retourné en exécutant Get-AzAccessToken -ResourceUrl https://database.windows.net
.
Ce paramètre est nouveau dans v22 du module.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
Vous demande une confirmation avant d’exécuter l’applet de commande.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Encrypt
Type de chiffrement à utiliser lors de la connexion à SQL Server.
Cette valeur est mappée à la Encrypt
propriété SqlConnectionEncryptOption
sur l’objet SqlConnection du pilote Microsoft.Data.SqlClient.
Dans la version 22 du module, la valeur par défaut est Optional
(pour la compatibilité avec v21). Dans v23+ du module, la valeur par défaut est « Obligatoire », ce qui peut créer une modification cassant pour les scripts existants.
Ce paramètre est nouveau dans v22 du module.
Type: | String |
Accepted values: | Mandatory, Optional, Strict |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-HostNameInCertificate
Nom d’hôte à utiliser pour valider le certificat SQL Server TLS/SSL. Vous devez passer ce paramètre si votre SQL Server instance est activé pour Forcer le chiffrement et que vous souhaitez vous connecter à un instance à l’aide d’un nom d’hôte/nom court. Si ce paramètre est omis, le passage du nom de domaine complet (FQDN) à -ServerInstance est nécessaire pour se connecter à un SQL Server instance activé pour forcer le chiffrement.
Ce paramètre est nouveau dans v22 du module.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Spécifie la base de données de disponibilité, en tant qu’objet AvailabilityDatabase , que cette applet de commande supprime.
Type: | AvailabilityDatabase[] |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Path
Spécifie le chemin d’accès d’une base de données de disponibilité que l’applet de commande supprime.
Type: | String[] |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Script
Indique que cette applet de commande retourne un script Transact-SQL qui effectue la tâche effectuée par cette applet de commande.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-TrustServerCertificate
Indique si le canal sera chiffré tout en contournant la chaîne de certificats pour valider l’approbation.
Dans la version 22 du module, la valeur par défaut est $true
(pour la compatibilité avec v21). Dans v23+ du module, la valeur par défaut est « $false », ce qui peut créer une modification cassant pour les scripts existants.
Ce paramètre est nouveau dans v22 du module.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Montre ce qui se passe en cas d’exécution de l’applet de commande. L’applet de commande n’est pas exécutée.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Entrées
Microsoft.SqlServer.Management.Smo.AvailabilityDatabase
Vous pouvez passer une base de données de disponibilité à cette applet de commande.