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.