Set-SqlAvailabilityReplica
Définit les paramètres d’un réplica de disponibilité.
Syntaxe
ByPath (Par défaut)
Set-SqlAvailabilityReplica
[[-Path] <String>]
[-AvailabilityMode <AvailabilityReplicaAvailabilityMode>]
[-FailoverMode <AvailabilityReplicaFailoverMode>]
[-EndpointUrl <String>]
[-SessionTimeout <Int32>]
[-ConnectionModeInPrimaryRole <AvailabilityReplicaConnectionModeInPrimaryRole>]
[-ConnectionModeInSecondaryRole <AvailabilityReplicaConnectionModeInSecondaryRole>]
[-SeedingMode <AvailabilityReplicaSeedingMode>]
[-BackupPriority <Int32>]
[-ReadOnlyRoutingList <String[]>]
[-ReadonlyRoutingConnectionUrl <String>]
[-LoadBalancedReadOnlyRoutingList <String[][]>]
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
ByObject
Set-SqlAvailabilityReplica
[-InputObject] <AvailabilityReplica>
[-AvailabilityMode <AvailabilityReplicaAvailabilityMode>]
[-FailoverMode <AvailabilityReplicaFailoverMode>]
[-EndpointUrl <String>]
[-SessionTimeout <Int32>]
[-ConnectionModeInPrimaryRole <AvailabilityReplicaConnectionModeInPrimaryRole>]
[-ConnectionModeInSecondaryRole <AvailabilityReplicaConnectionModeInSecondaryRole>]
[-SeedingMode <AvailabilityReplicaSeedingMode>]
[-BackupPriority <Int32>]
[-ReadOnlyRoutingList <String[]>]
[-ReadonlyRoutingConnectionUrl <String>]
[-LoadBalancedReadOnlyRoutingList <String[][]>]
[-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 l’instance de serveur qui héberge le réplica principal.
Exemples
Exemple 1 : Modifier un mode de disponibilité de réplica et un 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 le 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 de 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 au réplica principal. 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 Replica0260de disponibilité sur .
Cette priorité est utilisée par l’instance de serveur qui héberge le réplica principal pour décider quel réplica doit traiter une demande de sauvegarde automatisée sur une base de données du groupe de disponibilité. Le réplica ayant la priorité la plus élevée est choisi.
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 à SQL Azure DBSQL Azure Managed Instance un Service Principal ou un Managed Identity.
Le paramètre à utiliser peut être une chaîne représentant le jeton ou un PSAccessToken objet tel qu’il est retourné en exécutant Get-AzAccessToken -ResourceUrl https://database.windows.net.
Ce paramètre est nouveau dans v22 du module.
Propriétés du paramètre
| Type: | PSObject |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-AvailabilityMode
Spécifie le mode de disponibilité du réplica.
Vous pouvez spécifier une valeur de $Null.
Propriétés du paramètre
| Type: | AvailabilityReplicaAvailabilityMode |
| Valeur par défaut: | None |
| Valeurs acceptées: | AsynchronousCommit, SynchronousCommit, Unknown, ConfigurationOnly |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-BackupPriority
Spécifie la priorité souhaitée des réplicas lors de l’exécution de sauvegardes. Les valeurs acceptables pour ce paramètre sont des entiers compris entre 0 et 100. De l’ensemble de réplicas en ligne et disponibles, le réplica ayant la priorité la plus élevée effectue la sauvegarde.
La valeur zéro (0) indique que le réplica n’est pas un candidat.
Propriétés du paramètre
| Type: | Int32 |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-Confirm
Vous invite à confirmer avant d’exécuter l’applet de commande.
Propriétés du paramètre
| Type: | SwitchParameter |
| Valeur par défaut: | False |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
| Alias: | cf |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-ConnectionModeInPrimaryRole
Spécifie la façon dont le réplica de disponibilité gère les connexions dans le rôle principal. Les valeurs acceptables pour ce paramètre sont les suivantes :
- AllowReadWriteConnections. Autorise les connexions en lecture/écriture.
- AllowAllConnections. Autorise toutes les connexions.
Propriétés du paramètre
| Type: | AvailabilityReplicaConnectionModeInPrimaryRole |
| Valeur par défaut: | None |
| Valeurs acceptées: | AllowAllConnections, AllowReadWriteConnections, Unknown |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-ConnectionModeInSecondaryRole
Spécifie la façon dont le réplica de disponibilité gère les connexions dans le rôle secondaire. Les valeurs acceptables pour ce paramètre sont les suivantes :
- AllowNoConnections. Interdit les connexions.
- AllowReadIntentConnectionsOnly. Autorise uniquement les connexions en lecture-intention.
- AllowAllConnections. Autorise toutes les connexions.
Propriétés du paramètre
| Type: | AvailabilityReplicaConnectionModeInSecondaryRole |
| Valeur par défaut: | None |
| Valeurs acceptées: | AllowNoConnections, AllowReadIntentConnectionsOnly, AllowAllConnections, Unknown |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | 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 v22 du module.
Propriétés du paramètre
| Type: | String |
| Valeur par défaut: | None |
| Valeurs acceptées: | Mandatory, Optional, Strict |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | 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 sous la forme suivante : TCP://system-address:port
Propriétés du paramètre
| Type: | String |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-FailoverMode
Spécifie le mode de basculement.
Vous pouvez spécifier une valeur de $Null.
Propriétés du paramètre
| Type: | AvailabilityReplicaFailoverMode |
| Valeur par défaut: | None |
| Valeurs acceptées: | Automatic, Manual, External, Unknown |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-HostNameInCertificate
Nom d’hôte à utiliser pour valider le certificat SQL Server TLS/SSL. Vous devez passer ce paramètre si votre instance SQL Server est activée pour Forcer le chiffrement et que vous souhaitez vous connecter à une instance à l’aide du nom d’hôte/shortname. Si ce paramètre est omis, le passage du nom de domaine complet (FQDN) à -ServerInstance est nécessaire pour se connecter à une instance SQL Server activée pour Forcer le chiffrement.
Ce paramètre est nouveau dans v22 du module.
Propriétés du paramètre
| Type: | String |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-InputObject
Spécifie le groupe de disponibilité, en tant qu’objet AvailabilityGroup, auquel appartient le réplica.
Propriétés du paramètre
| Type: | AvailabilityReplica |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
ByObject
| Position: | 1 |
| Obligatoire: | True |
| Valeur du pipeline: | True |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | 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 à son tour sont des listes de réplicas.
Par exemple, en passant une valeur comme
@('Server1','Server2'),@('Server3'),@('Server4')
signifie ce que nous passons 3 jeux à charge équilibrée : 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 à charge équilibrée jusqu’à ce qu’au moins sur le réplica dans celui-ci soit disponible et l’utilise pour l’équilibrage de charge.
Par conséquent, dans l’exemple ci-dessus, si Server1 et Server2 ne sont pas disponibles, mais Server3 est, SQL Server choisit Server3.
Cette applet de commande définit uniquement la liste de routage en lecture seule et ne vérifie pas la disponibilité des réplicas spécifiés.
Propriétés du paramètre
| Type: | String[][] |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | 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.
Propriétés du paramètre
| Type: | String |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
ByPath
| Position: | 1 |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | 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
Propriétés du paramètre
| Type: | String |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-ReadOnlyRoutingList
Spécifie une liste triée des noms de serveurs réplicas qui représentent la séquence de sonde pour le directeur de connexion à utiliser lors de la redirection de connexions en lecture seule via ce 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é.
Propriétés du paramètre
| Type: | String[] |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | 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.
Propriétés du paramètre
| Type: | SwitchParameter |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | 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 primaire sur le réplica.
- Manuelle. 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.
Propriétés du paramètre
| Type: | AvailabilityReplicaSeedingMode |
| Valeur par défaut: | None |
| Valeurs acceptées: | Automatic, Manual |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-SessionTimeout
Spécifie la durée, en secondes, d’attente d’une réponse entre le réplica principal et ce réplica avant l’échec de la connexion.
Propriétés du paramètre
| Type: | Int32 |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-TrustServerCertificate
Indique si le canal sera chiffré lors du contournement de la marche à pied de 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.
Propriétés du paramètre
| Type: | SwitchParameter |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-WhatIf
Affiche ce qui se passerait si l’applet de commande s’exécute. L’applet de commande ne s’exécute pas.
Propriétés du paramètre
| Type: | SwitchParameter |
| Valeur par défaut: | False |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
| Alias: | Wi |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
CommonParameters
Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.