New-SqlAvailabilityReplica
Crée une réplica de disponibilité.
Syntax
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>]
[-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>]
[-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>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
L’applet de commande New-SqlAvailabilityReplica crée un réplica de disponibilité. Exécutez cette applet de commande sur le 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 cette 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é. Cette 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 du groupe de disponibilité. Ce réplica prend en charge le basculement automatique et le mode de disponibilité avec validation synchrone. Le paramètre Version spécifie la version du serveur instance qui hébergera cette nouvelle réplica.
Exemple 2 : Crée un réplica de disponibilité qui prend en charge le basculement manuel et le contrat 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é. Cette 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 du groupe de disponibilité. Ce réplica prend en charge le basculement manuel et le mode de disponibilité avec validation synchrone. Le paramètre Version spécifie la version du serveur instance qui hébergera cette nouvelle 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 basculement manuel et le mode de disponibilité avec validation synchrone. Dans le rôle secondaire, cette réplica prend en charge les connexions d’accès en lecture. Cette configuration vous permet de décharger le traitement en lecture seule vers cette 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 à 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.net
de .
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 |
-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 . Spécifiez le réplica de disponibilité temporaire comme valeur du paramètre AvailabilityReplica.
Si vous spécifiez AsTemplate, cette applet de commande ignore les valeurs des paramètres InputObject et Path .
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 à un instance.
Type: | SwitchParameter |
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 une valeur de $Null.
Type: | AvailabilityReplicaAvailabilityMode |
Accepted values: | AsynchronousCommit, SynchronousCommit, Unknown, ConfigurationOnly |
Position: | Named |
Default value: | None |
Required: | True |
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.
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: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FailoverMode
Spécifie le mode de basculement.
Vous pouvez spécifier une valeur de $Null
Type: | AvailabilityReplicaFailoverMode |
Accepted values: | Automatic, Manual, External, Unknown |
Position: | Named |
Default value: | None |
Required: | True |
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: | AvailabilityGroup |
Position: | 2 |
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 |
-Name
Spécifie un nom pour le réplica de disponibilité au format suivant : Ordinateur\Instance
Type: | String |
Position: | 1 |
Default value: | None |
Required: | True |
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: | 2 |
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: | Manual |
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 v22 du module.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Version
Spécifie une version SQL Server. Si vous spécifiez le paramètre AsTemplate , vous devez spécifier une version. L’objet template 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 |
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.
Sorties
Microsoft.SqlServer.Management.Smo.AvailabilityReplica
Cette applet de commande retourne une réplica de disponibilité.