New-SqlAvailabilityReplica
Crée un réplica de disponibilité.
Syntaxe
New-SqlAvailabilityReplica
-AvailabilityMode <AvailabilityReplicaAvailabilityMode>
-FailoverMode <AvailabilityReplicaFailoverMode>
-EndpointUrl <String>
[-SessionTimeout <Int32>]
[-ConnectionModeInPrimaryRole <AvailabilityReplicaConnectionModeInPrimaryRole>]
[-ConnectionModeInSecondaryRole <AvailabilityReplicaConnectionModeInSecondaryRole>]
[-BackupPriority <Int32>]
[-ReadOnlyRoutingList <String[]>]
[-ReadonlyRoutingConnectionUrl <String>]
[-SeedingMode <AvailabilityReplicaSeedingMode>]
[-LoadBalancedReadOnlyRoutingList <String[][]>]
[-Name] <String>
[[-Path] <String>]
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-ProgressAction <ActionPreference>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-SqlAvailabilityReplica
-AvailabilityMode <AvailabilityReplicaAvailabilityMode>
-FailoverMode <AvailabilityReplicaFailoverMode>
-EndpointUrl <String>
[-SessionTimeout <Int32>]
[-ConnectionModeInPrimaryRole <AvailabilityReplicaConnectionModeInPrimaryRole>]
[-ConnectionModeInSecondaryRole <AvailabilityReplicaConnectionModeInSecondaryRole>]
[-BackupPriority <Int32>]
[-ReadOnlyRoutingList <String[]>]
[-ReadonlyRoutingConnectionUrl <String>]
[-SeedingMode <AvailabilityReplicaSeedingMode>]
[-LoadBalancedReadOnlyRoutingList <String[][]>]
[-AsTemplate]
[-Version <ServerVersion>]
[-Name] <String>
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-ProgressAction <ActionPreference>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-SqlAvailabilityReplica
-AvailabilityMode <AvailabilityReplicaAvailabilityMode>
-FailoverMode <AvailabilityReplicaFailoverMode>
-EndpointUrl <String>
[-SessionTimeout <Int32>]
[-ConnectionModeInPrimaryRole <AvailabilityReplicaConnectionModeInPrimaryRole>]
[-ConnectionModeInSecondaryRole <AvailabilityReplicaConnectionModeInSecondaryRole>]
[-BackupPriority <Int32>]
[-ReadOnlyRoutingList <String[]>]
[-ReadonlyRoutingConnectionUrl <String>]
[-SeedingMode <AvailabilityReplicaSeedingMode>]
[-LoadBalancedReadOnlyRoutingList <String[][]>]
[-Name] <String>
[-InputObject] <AvailabilityGroup>
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-ProgressAction <ActionPreference>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
L’applet de commande New-SqlAvailabilityReplica crée un réplica de disponibilité. Exécutez cette applet de commande sur l’instance de SQL Server qui héberge le réplica principal.
Pour créer un réplica de disponibilité avant de créer un groupe de disponibilité, spécifiez le paramètre AsTemplate. Pour ajouter un réplica à un groupe de disponibilité existant, le paramètre InputObject ou Path spécifie le groupe de disponibilité.
Exemples
Exemple 1 : Crée une représentation d’un réplica de disponibilité
PS C:\> $ServerObject = Get-Item "SQLSERVER:\Sql\PrimaryServer\InstanceName"
PS C:\> New-SqlAvailabilityReplica -Name "PrimaryServer\Instance" -EndpointUrl "TCP://PrimaryServerName.domain.com:5022" -FailoverMode Automatic -AvailabilityMode SynchronousCommit -AsTemplate -Version $ServerObject.Version
Cet exemple crée une représentation en mémoire d’un réplica de disponibilité. Aucune modification n’est validée sur le serveur. Vous pouvez utiliser ce réplica comme valeur pour le paramètre AvailabilityReplica de New-SqlAvailabilityGroup
La première commande obtient une instance du serveur principal.
La deuxième commande crée le réplica de disponibilité. Ce réplica utilise le point de terminaison de mise en miroir de bases de données situé à l’URL spécifiée pour communiquer avec d’autres réplicas dans le groupe de disponibilité. Ce réplica prend en charge le basculement automatique et le mode de disponibilité de validation synchrone. Le paramètre Version spécifie la version de l’instance de serveur qui hébergera ce nouveau réplica.
Exemple 2 : Crée un réplica de disponibilité qui prend en charge le basculement manuel et lecommit asynchrone
PS C:\> $ServerObject = Get-Item "SQLSERVER:\Sql\PrimaryServer\InstanceName"
PS C:\> New-SqlAvailabilityReplica -Name "SecondaryServer\Instance" -EndpointUrl "TCP://PrimaryServerName.domain.com:5022" -FailoverMode Manual -AvailabilityMode AsynchronousCommit -AsTemplate -Version $ServerObject.Version
Cet exemple crée une représentation en mémoire d’un réplica de disponibilité. Aucune modification n’est validée sur le serveur.
La première commande obtient une instance du serveur principal.
La deuxième commande crée le réplica de disponibilité. Ce réplica utilise le point de terminaison de mise en miroir de bases de données situé à l’URL spécifiée pour communiquer avec d’autres réplicas dans le groupe de disponibilité. Ce réplica prend en charge le basculement manuel et le mode de disponibilité de validation asynchrone. Le paramètre Version spécifie la version de l’instance de serveur qui hébergera ce nouveau réplica.
Exemple 3 : Ajouter un réplica de disponibilité à un groupe de disponibilité
PS C:\> New-SqlAvailabilityReplica -Name "SecondaryServer\Instance" -EndpointUrl "TCP://PrimaryServerName.domain.com:5022" -FailoverMode Manual -AvailabilityMode AsynchronousCommit -ConnectionModeInSecondaryRole AllowAllConnections -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG"
Cette commande ajoute un réplica de disponibilité à un groupe de disponibilité existant nommé « MainAG ». Ce réplica prend en charge le mode de disponibilité de basculement manuel et de validation asynchrone. Dans le rôle secondaire, ce réplica prend en charge les connexions d’accès en lecture. Cette configuration vous permet de décharger le traitement en lecture seule sur ce réplica.
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 DB
et SQL Azure Managed Instance
à l’aide d’un Service Principal
ou d’un Managed Identity
.
Le paramètre à utiliser peut être une chaîne représentant le jeton ou un objet PSAccessToken
tel qu’il est retourné en exécutant Get-AzAccessToken -ResourceUrl https://database.windows.net
.
Ce paramètre est nouveau dans v22 du module.
Type: | PSObject |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-AsTemplate
Indique que cette applet de commande crée un objet availabilityReplica temporaire en mémoire.
Spécifiez ce paramètre pour créer un groupe de disponibilité avant de créer un réplica de disponibilité.
Créez un groupe de disponibilité à l’aide de l’applet de commande New-SqlAvailabilityGroup
Si vous spécifiez
Si vous spécifiez ce paramètre, vous devez également spécifier une version SQL Server pour le paramètre Version, ou votre session active doit avoir une connexion active à une instance.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-AvailabilityMode
Spécifie le mode de disponibilité du réplica.
Vous pouvez spécifier une valeur de $Null.
Type: | AvailabilityReplicaAvailabilityMode |
Valeurs acceptées: | AsynchronousCommit, SynchronousCommit, Unknown, ConfigurationOnly |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | 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.
Type: | Int32 |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Confirm
Vous invite à confirmer avant d’exécuter l’applet de commande.
Type: | SwitchParameter |
Alias: | cf |
Position: | Named |
Valeur par défaut: | False |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | 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
Type: | AvailabilityReplicaConnectionModeInPrimaryRole |
Valeurs acceptées: | AllowAllConnections, AllowReadWriteConnections, Unknown |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | 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. Interdire les connexions
- AllowReadIntentConnectionsOnly. Autorise uniquement les connexions en lecture-intention
- AllowAllConnections. Autorise toutes les connexions
Type: | AvailabilityReplicaConnectionModeInSecondaryRole |
Valeurs acceptées: | AllowNoConnections, AllowReadIntentConnectionsOnly, AllowAllConnections, Unknown |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Encrypt
Type de chiffrement à utiliser lors de la connexion à SQL Server.
Cette valeur est mappée à la propriété Encrypt
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.
Type: | String |
Valeurs acceptées: | Mandatory, Optional, Strict |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | 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
Type: | String |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-FailoverMode
Spécifie le mode de basculement.
Vous pouvez spécifier une valeur de $Null
Type: | AvailabilityReplicaFailoverMode |
Valeurs acceptées: | Automatic, Manual, External, Unknown |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-HostNameInCertificate
Nom d’hôte à utiliser pour valider le certificat TLS/SSL SQL Server. 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.
Type: | String |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-InputObject
Spécifie le groupe de disponibilité, en tant qu’objet AvailabilityGroup auquel appartient le réplica.
Type: | AvailabilityGroup |
Position: | 2 |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | 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.
Type: | String[][] |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Name
Spécifie un nom pour le réplica de disponibilité au format suivant : Computer\Instance
Type: | String |
Position: | 1 |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | 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: | 2 |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-ProgressAction
Détermine comment PowerShell répond aux mises à jour de progression générées par un script, une applet de commande ou un fournisseur, telles que les barres de progression générées par l’applet de commande Write-Progress. L’applet de commande Write-Progress crée des barres de progression qui affichent l’état d’une commande.
Type: | ActionPreference |
Alias: | proga |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | 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 |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | 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é.
Type: | String[] |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | 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 |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-SeedingMode
Spécifie la façon dont le réplica secondaire sera initialement amorçage.
Valeurs autorisées :
- Automatique. Active l’amorçage direct. Cette méthode va amorçage du 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.
Type: | AvailabilityReplicaSeedingMode |
Valeurs acceptées: | Automatic, Manual |
Position: | Named |
Valeur par défaut: | Manual |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | 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.
Type: | Int32 |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | 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.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Version
Spécifie une version de SQL Server. Si vous spécifiez le paramètre AsTemplate, vous devez spécifier une version. L’objet de modèle est créé en mode création sur un serveur qui inclut cette version. Vous pouvez spécifier un entier ou une chaîne, comme dans les exemples suivants (SQL Server 2017) :
- 14
- '14.0.0'
Type: | ServerVersion |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-WhatIf
Affiche ce qui se passerait si l’applet de commande s’exécute. L’applet de commande n’est pas exécutée.
Type: | SwitchParameter |
Alias: | wi |
Position: | Named |
Valeur par défaut: | False |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
Entrées
Microsoft.SqlServer.Management.Smo.AvailabilityGroup
Vous pouvez transmettre un groupe de disponibilité à cette applet de commande.
Sorties
Microsoft.SqlServer.Management.Smo.AvailabilityReplica
Cette applet de commande retourne un réplica de disponibilité.