Switch-SqlAvailabilityGroup

Démarre un basculement d’un groupe de disponibilité vers un réplica secondaire.

Syntax

Switch-SqlAvailabilityGroup
      [-AllowDataLoss]
      [-Force]
      [[-Path] <String[]>]
      [-Script]
      [-AccessToken <PSObject>]
      [-TrustServerCertificate]
      [-HostNameInCertificate <String>]
      [-Encrypt <String>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Switch-SqlAvailabilityGroup
      [-AllowDataLoss]
      [-Force]
      [-InputObject] <AvailabilityGroup[]>
      [-Script]
      [-AccessToken <PSObject>]
      [-TrustServerCertificate]
      [-HostNameInCertificate <String>]
      [-Encrypt <String>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Description

L’applet de commande Switch-SqlAvailabilityGroup démarre un basculement d’un groupe de disponibilité vers un réplica secondaire spécifié. Exécutez cette applet de commande sur le réplica secondaire cible. Après le basculement, le réplica secondaire devient le réplica principal.

Exemples

Exemple 1 : Basculer un groupe de disponibilité

PS C:\> Switch-SqlAvailabilityGroup -Path "SQLSERVER:\Sql\SecondaryServer\InstanceName\AvailabilityGroups\MainAG"

Cette commande effectue un basculement manuel du groupe MainAG de disponibilité vers le serveur instance nommé SecondaryServer\InstanceName. Cette commande n’autorise pas la perte de données. Exécutez cette commande sur le serveur instance qui héberge le réplica secondaire vers lequel basculer.

Exemple 2 : Forcer le basculement d’un groupe de disponibilité

PS C:\> Switch-SqlAvailabilityGroup -Path "SQLSERVER:\Sql\SecondaryServer\InstanceName\AvailabilityGroups\MainAG" -AllowDataLoss

Cette commande effectue un basculement manuel du groupe MainAG de disponibilité vers le serveur instance nommé SecondaryServer\InstanceName. La commande spécifie le paramètre AllowDataLoss . Par conséquent, le basculement peut entraîner une perte de données et la commande vous invite à confirmer. Spécifiez le paramètre Force pour ignorer la confirmation.

Exemple 3 : Créer un script pour basculer un groupe de disponibilité

PS C:\> Switch-SqlAvailabilityGroup -Path "SQLSERVER:\Sql\SecondaryServer\InstanceName\AvailabilityGroups\MainAG" -Script

Cette commande crée un script Transact-SQL qui effectue un basculement manuel du groupe MainAG de disponibilité vers le serveur instance nommé SecondaryServer\InstanceName. Le script n’autorise pas la perte de données. La commande n’entraîne pas de basculement.

Paramètres

-AccessToken

Jeton d’accès utilisé pour s’authentifier auprès de SQL Server, comme alternative à l’authentification utilisateur/mot de passe ou 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 tel que retourné par l’exécution Get-AzAccessToken -ResourceUrl https://database.windows.netde .

Ce paramètre est nouveau dans la version 22 du module.

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

-AllowDataLoss

Indique que cette applet de commande démarre un basculement forcé vers le réplica secondaire cible. Une perte de données est possible. Sauf si vous spécifiez le paramètre Force ou Script , l’applet de commande vous invite à confirmer.

Type:SwitchParameter
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 la version 23+ 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 la version 22 du module.

Type:String
Accepted values:Mandatory, Optional, Strict
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

Force l’exécution de la commande sans demander la confirmation de l’utilisateur. Cette applet de commande vous invite à confirmer uniquement si vous spécifiez le paramètre AllowDataLoss .

Type:SwitchParameter
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 de 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 la version 22 du module.

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

-InputObject

Spécifie le groupe de disponibilité sur lequel cette applet de commande bascule.

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

-Path

Spécifie le chemin d’accès du groupe de disponibilité sur lequel cette applet de commande bascule. Si vous ne spécifiez pas ce paramètre, cette applet de commande utilise l’emplacement de travail actuel.

Type:String[]
Position:1
Default value:None
Required:False
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 la version 22 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.AvailabilityGroup[]

Vous pouvez passer un groupe de disponibilité à cette applet de commande.