Set-SqlAvailabilityGroup

Задает параметры для группы доступности.

Синтаксис

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>]

Описание

Командлет Set-SqlAvailabilityGroup изменяет параметры существующей группы доступности в Always On группы доступности. Вы можете изменить параметры автоматического резервного копирования, уровень условия сбоя и время ожидания проверка работоспособности. Этот командлет необходимо выполнить на экземпляре сервера, на котором размещается основной реплика.

Примеры

Пример 1. Изменение времени ожидания проверка работоспособности

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

Эта команда изменяет свойство времени ожидания проверка работоспособности в группе доступности с 120 именем MainAG секунды или две минуты. Если автоматическая отработка отказа включена, по истечении этого периода Always On группы доступности инициирует автоматическую отработку отказа.

Пример 2. Изменение предпочтения автоматического резервного копирования

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

Эта команда изменяет параметр автоматического резервного копирования в группе доступности с SecondaryOnlyименем MainAG . Автоматическое резервное копирование баз данных в этой группе доступности не выполняется на первичном реплика. Вместо этого автоматическое резервное копирование выполняется на вторичном реплика с наивысшим приоритетом резервного копирования.

Пример 3. Изменение уровня условия сбоя

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

Эта команда изменяет уровень условия сбоя в группе доступности с OnServerDownименем MainAG на . Если экземпляр сервера, на котором размещен основной реплика, переходит в автономный режим и если включена автоматическая отработка отказа, Always On группы доступности запускают автоматическую отработку отказа.

Пример 4. Изменение числа вторичных SYNCHRONOUS_COMMIT, которые должны быть доступны для фиксации транзакций на первичном сервере

# 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.

Параметры

-AccessToken

Маркер доступа, используемый для проверки подлинности для SQL Server в качестве альтернативы проверке подлинности пользователя или пароля или проверки подлинности Windows.

Это можно использовать, например, для подключения к SQL Azure DB и SQL Azure Managed Instance с помощью Service Principal или Managed Identity.

Используемый параметр может быть строкой, представляющей маркер, или объектом, PSAccessToken возвращенным при выполнении .Get-AzAccessToken -ResourceUrl https://database.windows.net

Этот параметр является новым в версии 22 модуля.

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

-AutomatedBackupPreference

Задает предпочтительный параметр автоматического резервного копирования для группы доступности. Допустимые значения для этого параметра:

  • Первичная. указывает, что резервное копирование всегда выполняется на первичной реплике. Этот параметр поддерживает использование функций, недоступных при выполнении резервного копирования на вторичном реплика, например разностных резервных копий.
  • SecondaryOnly. указывает, что резервное копирование никогда не выполняется на первичной реплике. Если основной реплика является единственным реплика в сети, резервное копирование не выполняется.
  • Вторичного. Указывает, что резервное копирование выполняется на вторичных репликах, если только основной реплика не является единственным реплика в сети. После этого резервное копирование производится на первичной реплике.
  • Нет. Указывает, что основное или дополнительное состояние не учитывается при принятии решения о том, какие реплика выполняют резервное копирование. Вместо этого приоритет резервного копирования и состояние в сети определяют, какие реплика выполняют резервное копирование.
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

Запрос подтверждения перед выполнением командлета.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DatabaseHealthTrigger

Указывает, следует ли запускать автоматическую отработку отказа группы доступности, если какая-либо пользовательская база данных реплика в группе доступности сталкивается с состоянием сбоя базы данных.

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

-Encrypt

Тип шифрования, используемый при подключении к SQL Server.

Это значение сопоставляется со свойством EncryptSqlConnectionEncryptOption объекта SqlConnection драйвера Microsoft.Data.SqlClient.

В версии 22 модуля по умолчанию используется Optional значение (для совместимости с версией 21). В версии 23+ модуля значением по умолчанию будет "Обязательно", что может привести к критическому изменению для существующих скриптов.

Этот параметр является новым в версии 22 модуля.

Type:String
Accepted values:Mandatory, Optional, Strict
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FailureConditionLevel

Указывает поведение автоматической отработки отказа группы доступности. Допустимые значения для этого параметра:

  • OnServerDown. Отработка отказа или перезапуск при остановке службы SQL Server.
  • OnServerUnresponsive. Отработка отказа или перезапуск, если выполняется какое-либо условие с меньшим значением, а также при подключении службы SQL Server к кластеру и превышении порогового значения HealthCheckTimeout или если реплика доступности, в настоящее время в основной роли, находится в состоянии сбоя.
  • OnCriticalServerError. Отработка отказа или перезапуск, если выполняется какое-либо условие с меньшим значением, а также при возникновении внутренней критической ошибки сервера, которая включает нехватку памяти, серьезное нарушение доступа к записи или слишком большой объем дампа.
  • OnModerateServerError. Отработка отказа или перезапуск, если выполняется какое-либо условие с меньшим значением, а также если возникает умеренная ошибка сервера, которая включает постоянное отсутствие памяти.
  • OnAnyQualifiedFailureConditions. Отработка отказа или перезапуск, если выполняется какое-либо условие с меньшим значением, а также если возникает соответствующее условие сбоя, которое включает в себя исчерпание рабочего потока подсистемы и неустранимую взаимоблокировку.
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

Указывает период времени (в миллисекундах), по истечении которого Always On группы доступности объявляют сервер, не отвечающий на запрос, неработоспособным.

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

-HostNameInCertificate

Имя узла используется для проверки TLS/SSL-сертификата SQL Server. Этот параметр необходимо передать, если экземпляр SQL Server включен для принудительного шифрования и вы хотите подключиться к экземпляру с помощью hostname/shortname. Если этот параметр опущен, для подключения к экземпляру SQL Server, включенного для принудительного шифрования, необходимо передать полное доменное имя (FQDN) в параметр -ServerInstance.

Этот параметр является новым в версии 22 модуля.

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

-InputObject

Указывает группу доступности в виде объекта AvailabilityGroup, которую изменяет этот командлет.

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

-Path

Указывает путь к базе данных доступности, в которой изменяется командлет. Если этот параметр не указан, этот командлет использует текущее рабочее расположение.

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

-RequiredSynchronizedSecondariesToCommit

Количество вторичных экземпляров синхронной фиксации, которые должны быть доступны для фиксации на основном сервере.

SYNCHRONOUS_COMMIT Если вторичная служба отключается от основной в течение некоторого времени, первичная служба понижает ее до , чтобы ASYNCHRONOUS_COMMIT избежать блокировки фиксаций. Если основной объект становится недоступным и пользователь хочет выполнить отработку отказа на один из этих вторичных объектов, это может привести к потере данных. Задав параметру RequiredSynchronizedSecondariesToCommit некоторое число, пользователь может предотвратить потерю данных, так как основной сервер начнет блокировать фиксации, если слишком много вторичных экземпляров понижено до ASYNCHRONOUS_COMMIT.

Значение этого параметра по умолчанию равно 0, что означает, что основной объект никогда не будет блокировать фиксации. Это идентично поведению до SQL Server 2017 года.

Type:Int32
Position:Named
Default value:0
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Script

Указывает, что этот командлет возвращает скрипт Transact-SQL, который выполняет задачу, выполняемую этим командлетом.

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

-TrustServerCertificate

Указывает, будет ли канал зашифрован при обходе цепочки сертификатов для проверки доверия.

В версии 22 модуля по умолчанию используется $true значение (для совместимости с версией 21). В версии 23+ модуля значение по умолчанию будет "$false", что может привести к критическому изменению для существующих скриптов.

Этот параметр является новым в версии 22 модуля.

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

-WhatIf

Показывает, что произойдет при запуске командлета. Командлет не выполняется.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Входные данные

Microsoft.SqlServer.Management.Smo.AvailabilityGroup