Set-SqlAvailabilityGroup

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

Syntax

Set-SqlAvailabilityGroup
   [-AutomatedBackupPreference <AvailabilityGroupAutomatedBackupPreference>]
   [-FailureConditionLevel <AvailabilityGroupFailureConditionLevel>]
   [-HealthCheckTimeout <Int32>]
   [-DatabaseHealthTrigger <Boolean>]
   [-RequiredSynchronizedSecondariesToCommit <Int32>]
   [[-Path] <String>]
   [-Script]
   [-AccessToken <PSObject>]
   [-TrustServerCertificate]
   [-HostNameInCertificate <String>]
   [-Encrypt <String>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-SqlAvailabilityGroup
   [-AutomatedBackupPreference <AvailabilityGroupAutomatedBackupPreference>]
   [-FailureConditionLevel <AvailabilityGroupFailureConditionLevel>]
   [-HealthCheckTimeout <Int32>]
   [-DatabaseHealthTrigger <Boolean>]
   [-RequiredSynchronizedSecondariesToCommit <Int32>]
   [-InputObject] <AvailabilityGroup>
   [-Script]
   [-AccessToken <PSObject>]
   [-TrustServerCertificate]
   [-HostNameInCertificate <String>]
   [-Encrypt <String>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

L’applet de commande Set-SqlAvailabilityGroup modifie les paramètres d’un groupe de disponibilité existant dans Always On Groupes de disponibilité. Vous pouvez modifier la préférence de sauvegarde automatisée, le niveau de condition d’échec et le délai d’case activée d’intégrité. Vous devez exécuter cette applet de commande sur le serveur instance qui héberge le réplica principal.

Exemples

Exemple 1 : Modifier le délai d’case activée d’intégrité

PS C:\> Set-SqlAvailabilityGroup -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MAinAG" -HealthCheckTimeout 120000

Cette commande modifie la propriété d’intégrité case activée délai d’expiration sur le groupe de disponibilité nommé MainAG en 120 secondes, ou deux minutes. Si le basculement automatique est activé, après ce délai, Always On groupes de disponibilité lance un basculement automatique.

Exemple 2 : Modifier la préférence de sauvegarde automatisée

PS C:\> Set-SqlAvailabilityGroup -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG" -AutomatedBackupPreference SecondaryOnly

Cette commande modifie la préférence de sauvegarde automatisée sur le groupe de disponibilité nommé MainAG en SecondaryOnly. Les sauvegardes automatisées des bases de données de ce groupe de disponibilité ne se produisent pas sur le réplica principal. Au lieu de cela, les sauvegardes automatisées se produisent sur le réplica secondaire qui a la priorité de sauvegarde la plus élevée.

Exemple 3 : Modifier le niveau de condition d’échec

PS C:\> Set-SqlAvailabilityGroup -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG" -FailureConditionLevel OnServerDown

Cette commande modifie le niveau de condition d’échec sur le groupe de disponibilité nommé MainAG en OnServerDown. Si le serveur instance qui héberge le réplica principal passe hors connexion et si le basculement automatique est activé, Always On Groupes de disponibilité démarre un basculement automatique.

Exemple 4 : modifier le nombre de « SYNCHRONOUS_COMMIT » secondaires qui doivent être disponibles pour que les transactions soient validées sur le serveur principal

# Get server and AG
PS C:\> CD 'SQLSERVER:\SQL\some-hostname\Default'
PS SQLSERVER:\SQL\some-hostname\Default> $server = Get-Item $PWD
PS SQLSERVER:\SQL\some-hostname\Default> $ag = $server.AvailabilityGroups[0]
# Alter AG with RequiredCopiesToCommit = 4
PS SQLSERVER:\SQL\some-hostname\Default> $ag | Set-SqlAvailabilityGroup -RequiredSynchronizedSecondariesToCommit 4

Note: an exception will be thrown if the -RequiredSynchronizedSecondariesToCommit parameter is used when
the target server version is SQL Server 2016 or lower.

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

-AutomatedBackupPreference

Spécifie la préférence de sauvegarde automatisée pour le groupe de disponibilité. Les valeurs valides pour ce paramètre sont :

  • Primaire. Spécifie que les sauvegardes se produisent toujours sur le réplica principal. Cette option prend en charge l’utilisation de fonctionnalités non disponibles lorsque la sauvegarde s’exécute sur un réplica secondaire, comme les sauvegardes différentielles.
  • SecondaryOnly. Spécifie que les sauvegardes ne sont jamais effectuées sur les réplicas principaux. Si le réplica principal est le seul réplica en ligne, la sauvegarde n’a pas lieu.
  • Secondaire. Spécifie que les sauvegardes se produisent sur les réplicas secondaires, sauf si le réplica principal est le seul réplica en ligne. Dans ce cas, la sauvegarde est effectuée sur le réplica principal.
  • Aucun. Spécifie que la status principale ou secondaire n’est pas prise en compte lors de la décision de l’réplica effectuer des sauvegardes. Au lieu de cela, la priorité de sauvegarde et les status en ligne déterminent les réplica qui effectuent les sauvegardes.
Type:AvailabilityGroupAutomatedBackupPreference
Accepted values:Primary, SecondaryOnly, Secondary, None, Unknown
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

-DatabaseHealthTrigger

Spécifie s’il faut déclencher un basculement automatique du groupe de disponibilité si une base de données utilisateur réplica au sein d’un groupe de disponibilité rencontre une condition de défaillance de base de données.

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

-FailureConditionLevel

Spécifie le comportement de basculement automatique du groupe de disponibilité. Les valeurs valides pour ce paramètre sont :

  • OnServerDown. Basculement ou redémarrage si le service SQL Server s’arrête.
  • OnServerUnresponsive. Basculement ou redémarrage si une condition de valeur inférieure est satisfaite, ainsi que lorsque le service SQL Server est connecté au cluster et que le seuil HealthCheckTimeout est dépassé, ou si la disponibilité réplica actuellement dans le rôle principal est en état d’échec.
  • OnCriticalServerError. Basculement ou redémarrage si une condition de valeur inférieure est satisfaite, ainsi qu’en cas d’erreur de serveur critique interne, qui inclut un problème de mémoire insuffisante, une violation grave d’accès en écriture ou un dumping trop important.
  • OnModerateServerError. Basculement ou redémarrage si une condition de valeur inférieure est satisfaite, plus si une erreur de serveur modérée se produit, ce qui inclut une condition de mémoire insuffisante persistante.
  • OnAnyQualifiedFailureConditions. Basculement ou redémarrage si une condition de valeur inférieure est satisfaite, plus si une condition d’échec éligible se produit, ce qui inclut l’épuisement des threads de travail du moteur et la détection d’un interblocage non résolu.
Type:AvailabilityGroupFailureConditionLevel
Accepted values:OnServerDown, OnServerUnresponsive, OnCriticalServerErrors, OnModerateServerErrors, OnAnyQualifiedFailureCondition, Unknown
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-HealthCheckTimeout

Spécifie la durée, en millisecondes, après laquelle Always On groupes de disponibilité déclare un serveur qui ne répond pas comme non sain.

Type:Int32
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, que cette applet de commande modifie.

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 de la base de données de disponibilité que l’applet de commande modifie. 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

-RequiredSynchronizedSecondariesToCommit

Nombre de secondaires de validation synchrone qui doivent être disponibles pour pouvoir valider sur le serveur principal.

Si une SYNCHRONOUS_COMMIT base de données secondaire est déconnectée du serveur principal pendant un certain temps, elle est rétrogradée ASYNCHRONOUS_COMMIT pour éviter de bloquer les validations. Si le serveur principal devient alors indisponible et que l’utilisateur souhaite basculer vers l’un de ces serveurs secondaires, il peut entraîner une perte de données. En définissant RequiredSynchronizedSecondariesToCommit sur un certain nombre, l’utilisateur peut empêcher la perte de données, car le serveur principal commence à bloquer les validations si trop de secondaires sont rétrogradés à ASYNCHRONOUS_COMMIT.

La valeur par défaut de ce paramètre est 0, ce qui signifie que le serveur principal ne bloquera jamais les validations. Ce comportement est identique au comportement avant SQL Server 2017.

Type:Int32
Position:Named
Default value:0
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