Set-SqlAvailabilityReplica

Définit les paramètres d’un réplica de disponibilité.

Syntax

Set-SqlAvailabilityReplica
   [-AvailabilityMode <AvailabilityReplicaAvailabilityMode>]
   [-FailoverMode <AvailabilityReplicaFailoverMode>]
   [-EndpointUrl <String>]
   [-SessionTimeout <Int32>]
   [-ConnectionModeInPrimaryRole <AvailabilityReplicaConnectionModeInPrimaryRole>]
   [-ConnectionModeInSecondaryRole <AvailabilityReplicaConnectionModeInSecondaryRole>]
   [-SeedingMode <AvailabilityReplicaSeedingMode>]
   [-BackupPriority <Int32>]
   [-ReadOnlyRoutingList <String[]>]
   [-ReadonlyRoutingConnectionUrl <String>]
   [-LoadBalancedReadOnlyRoutingList <String[][]>]
   [[-Path] <String>]
   [-Script]
   [-AccessToken <PSObject>]
   [-TrustServerCertificate]
   [-HostNameInCertificate <String>]
   [-Encrypt <String>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-SqlAvailabilityReplica
   [-AvailabilityMode <AvailabilityReplicaAvailabilityMode>]
   [-FailoverMode <AvailabilityReplicaFailoverMode>]
   [-EndpointUrl <String>]
   [-SessionTimeout <Int32>]
   [-ConnectionModeInPrimaryRole <AvailabilityReplicaConnectionModeInPrimaryRole>]
   [-ConnectionModeInSecondaryRole <AvailabilityReplicaConnectionModeInSecondaryRole>]
   [-SeedingMode <AvailabilityReplicaSeedingMode>]
   [-BackupPriority <Int32>]
   [-ReadOnlyRoutingList <String[]>]
   [-ReadonlyRoutingConnectionUrl <String>]
   [-LoadBalancedReadOnlyRoutingList <String[][]>]
   [-InputObject] <AvailabilityReplica>
   [-Script]
   [-AccessToken <PSObject>]
   [-TrustServerCertificate]
   [-HostNameInCertificate <String>]
   [-Encrypt <String>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

L’applet de commande Set-SqlAvailabilityReplica définit ou modifie diverses propriétés pour un réplica de disponibilité. Exécutez cette applet de commande sur le serveur instance qui héberge le réplica principal.

Exemples

Exemple 1 : modifier un mode de disponibilité réplica et le basculement automatique

PS C:\> Set-SqlAvailabilityReplica -AvailabilityMode "SynchronousCommit" -FailoverMode Automatic -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityReplicas\Replica02"

Cette commande modifie le réplica nommé Replica02 dans le groupe de disponibilité nommé MainAG pour utiliser synchronous-commit le mode de disponibilité et prendre en charge automatic failover.

Exemple 2 : Modifier un réplica pour prendre en charge le basculement manuel forcé

PS C:\> Set-SqlAvailabilityReplica -AvailabilityMode AsynchronousCommit -FailoverMode Manual -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityReplicas\Replica02"

Cette commande modifie le réplica nommé Replica02 dans le groupe de disponibilité nommé MainAG pour utiliser asynchronous-commit le mode de disponibilité et pour prendre en charge uniquement forced manual failover, ce qui peut entraîner une perte de données.

Exemple 3 : Autoriser toutes les connexions dans le rôle secondaire

PS C:\> Set-SqlAvailabilityReplica -ConnectionModeInSecondaryRole AllowAllConnections -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityReplicas\Replica02"

Cette commande modifie la réplica Replica02 dans le groupe MainAG de disponibilité pour autoriser toutes les connexions dans le rôle secondaire. Cela vous permet de décharger des charges de travail de traitement des données en lecture seule vers des réplicas secondaires.

Exemple 4 : Configurer un réplica principal et un réplica secondaire pour le routage en lecture seule

PS C:\> Set-Location "SQLSERVER:\SQL\PrimaryServer\default\AvailabilityGroups\MainAG"
PS C:\> $PrimaryReplica = Get-Item "AvailabilityReplicas\PrimaryServer"
PS C:\> $SecondaryReplica = Get-Item "AvailabilityReplicas\SecondaryServer"
PS C:\> Set-SqlAvailabilityReplica -ReadOnlyRoutingConnectionUrl "TCP://PrimaryServer.domain.com:5022" -InputObject $PrimaryReplica
PS C:\> Set-SqlAvailabilityReplica -ReadOnlyRoutingConnectionUrl "TCP://SecondaryServer.domain.com:5022" -InputObject $SecondaryReplica
PS C:\> Set-SqlAvailabilityReplica -ReadOnlyRoutingList "SecondaryServer","PrimaryServer" -InputObject $PrimaryReplica

La première commande remplace l’emplacement par un emplacement dans le fournisseur SQLSERVER :.

La quatrième commande affecte une URL de routage en lecture seule à l’réplica primaire. Il définit ensuite la liste de routage en lecture seule sur le réplica principal.

Exemple 5 : Modifier la priorité de sauvegarde

PS C:\> Set-SqlAvailabilityReplica -BackupPriority 60 -Path "SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MainAG\AvailabilityReplicas\Replica02"

Cette commande définit la priorité de sauvegarde du réplica Replica02 de disponibilité sur 60. Cette priorité est utilisée par le serveur instance qui héberge le réplica principal pour déterminer les réplica qui doivent traiter une demande de sauvegarde automatisée sur une base de données du groupe de disponibilité. La réplica qui a la priorité la plus élevée est choisie.

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

-AvailabilityMode

Spécifie le mode de disponibilité réplica.

Vous pouvez spécifier la valeur .$Null

Type:AvailabilityReplicaAvailabilityMode
Accepted values:AsynchronousCommit, SynchronousCommit, Unknown, ConfigurationOnly
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-BackupPriority

Spécifie la priorité souhaitée des réplicas lors de l’exécution des sauvegardes. Les valeurs acceptables pour ce paramètre sont des entiers compris entre 0 et 100. Parmi l’ensemble de réplicas qui sont en ligne et disponibles, le réplica qui a la priorité la plus élevée effectue la sauvegarde.

La valeur zéro (0) indique que le réplica n’est pas un candidat.

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

-ConnectionModeInPrimaryRole

Spécifie comment le réplica de disponibilité gère les connexions dans le rôle principal. Les valeurs valides pour ce paramètre sont :

  • AllowReadWriteConnections. Autorise les connexions en lecture/écriture.
  • AllowAllConnections. Autorise toutes les connexions.
Type:AvailabilityReplicaConnectionModeInPrimaryRole
Accepted values:AllowAllConnections, AllowReadWriteConnections, Unknown
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ConnectionModeInSecondaryRole

Spécifie comment le réplica de disponibilité gère les connexions dans le rôle secondaire. Les valeurs valides pour ce paramètre sont :

  • AllowNoConnections. Interdit les connexions.
  • AllowReadIntentConnectionsOnly. Autorise uniquement les connexions d’intention de lecture.
  • AllowAllConnections. Autorise toutes les connexions.
Type:AvailabilityReplicaConnectionModeInSecondaryRole
Accepted values:AllowNoConnections, AllowReadIntentConnectionsOnly, AllowAllConnections, Unknown
Position:Named
Default value:None
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

-EndpointUrl

Spécifie l’URL du point de terminaison de mise en miroir de bases de données. Cette URL est une adresse TCP au format suivant : TCP://system-address:port

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

-FailoverMode

Spécifie le mode de basculement.

Vous pouvez spécifier la valeur .$Null

Type:AvailabilityReplicaFailoverMode
Accepted values:Automatic, Manual, External, Unknown
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é, en tant qu’objet AvailabilityGroup, auquel appartient le réplica.

Type:AvailabilityReplica
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-LoadBalancedReadOnlyRoutingList

Spécifie la liste de routage en lecture seule à charge équilibrée.

La liste de routage est une liste d’ensembles à charge équilibrée, qui sont à leur tour des listes de réplicas.

Par exemple, passer une valeur comme

@('Server1','Server2'),@('Server3'),@('Server4')

signifie que nous passons 3 jeux d’équilibrage de charge : 1 avec 2 réplicas (Server1 et Server2) et 2 avec un seul (Server3 et Server4, respectivement).

Au moment de l’exécution, SQL Server examine de manière séquentielle tous les jeux d’équilibrage de charge jusqu’à ce qu’il en trouve un tel qu’au moins sur réplica est disponible et l’utiliser pour l’équilibrage de charge.

Ainsi, dans l’exemple ci-dessus, si Server1 et Server2 ne sont pas disponibles, mais que Server3 l’est, SQL Server choisissez Server3.

Cette applet de commande définit uniquement la liste de routage en lecture seule et ne case activée pas sur la disponibilité des réplicas spécifiés.

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

-Path

Spécifie le chemin d’accès du groupe de disponibilité auquel appartient le réplica. 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

-ReadonlyRoutingConnectionUrl

Spécifie le nom de domaine complet (FQDN) et le port à utiliser lors du routage vers le réplica pour les connexions en lecture seule, comme dans l’exemple suivant :TCP://DBSERVER8.manufacturing.Contoso.com:7024

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

-ReadOnlyRoutingList

Spécifie une liste ordonnée de noms de serveurs réplica qui représentent la séquence de sonde que le directeur de connexion doit utiliser lors de la redirection des connexions en lecture seule via cette réplica de disponibilité. Ce paramètre s’applique si le réplica de disponibilité est le réplica principal actuel du groupe de disponibilité.

Type:String[]
Position:Named
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

-SeedingMode

Spécifie comment le réplica secondaire est initialement amorcé.

Valeurs autorisées :

  • Automatique. Permet l’amorçage direct. Cette méthode amorce le réplica secondaire sur le réseau. Cette méthode ne vous oblige pas à sauvegarder et à restaurer une copie de la base de données principal sur le réplica.
  • Manuelles. Spécifie l’amorçage manuel. Cette méthode vous oblige à créer une sauvegarde de la base de données sur le réplica principal et à restaurer manuellement cette sauvegarde sur le réplica secondaire.
Type:AvailabilityReplicaSeedingMode
Accepted values:Automatic, Manual
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SessionTimeout

Spécifie la durée, en secondes, d’attente d’une réponse entre le réplica principal et cette réplica avant l’échec de la connexion.

Type:Int32
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.AvailabilityReplica