Поделиться через


Set-SqlAvailabilityGroup

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

Синтаксис

Set-SqlAvailabilityGroup
   [-AutomatedBackupPreference <AvailabilityGroupAutomatedBackupPreference>]
   [-FailureConditionLevel <AvailabilityGroupFailureConditionLevel>]
   [-HealthCheckTimeout <Int32>]
   [-DatabaseHealthTrigger <Boolean>]
   [-RequiredSynchronizedSecondariesToCommit <Int32>]
   [[-Path] <String>]
   [-Script]
   [-AccessToken <PSObject>]
   [-TrustServerCertificate]
   [-HostNameInCertificate <String>]
   [-Encrypt <String>]
   [-ProgressAction <ActionPreference>]
   [-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>]
   [-ProgressAction <ActionPreference>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Описание

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

Примеры

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

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

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

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

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

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

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

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

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

Пример 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 модуля.

Тип:PSObject
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-AutomatedBackupPreference

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

  • Первичный. Указывает, что резервные копии всегда выполняются на первичной реплике. Этот параметр поддерживает использование функций, недоступных при выполнении резервного копирования на вторичной реплике, например разностных резервных копий.
  • SecondaryOnly. Указывает, что резервные копии никогда не выполняются на первичных репликах. Если основная реплика является единственной репликой в сети, резервное копирование не происходит.
  • Вторичный. Указывает, что резервные копии выполняются во вторичных репликах, если основная реплика не является единственной репликой в сети. Затем резервное копирование происходит на первичной реплике.
  • Никакой. Указывает, что основное или дополнительное состояние не учитывается при принятии решения о том, какая реплика выполняет резервное копирование. Вместо этого приоритет резервного копирования и состояние в сети определяют, какая реплика выполняет резервные копии.
Тип:AvailabilityGroupAutomatedBackupPreference
Допустимые значения:Primary, SecondaryOnly, Secondary, None, Unknown
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Confirm

Запрашивает подтверждение перед запуском командлета.

Тип:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-DatabaseHealthTrigger

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

Тип:Boolean
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Encrypt

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

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

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

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

Тип:String
Допустимые значения:Mandatory, Optional, Strict
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-FailureConditionLevel

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

  • OnServerDown. Отработка отказа или перезапуск, если служба SQL Server останавливается.
  • OnServerUnresponsive. Отработка отказа или перезапуск, если любое условие меньшего значения удовлетворено, а также при подключении службы SQL Server к кластеру и превышено пороговое значение HealthCheckTimeout или если реплика доступности в настоящее время в первичной роли находится в состоянии сбоя.
  • OnCriticalServerError. Отработка отказа или перезапуск, если любое условие меньшего значения удовлетворено, а также при возникновении внутренней критической ошибки сервера, которая включает в себя состояние памяти, серьезное нарушение доступа к записи или слишком много дампа.
  • OnModerateServerError. Отработка отказа или перезапуск, если любое условие меньшего значения удовлетворено, а также при возникновении умеренной ошибки сервера, wich включает постоянное отсутствие состояния памяти.
  • OnAnyQualifiedFailureConditions. Отработка отказа или перезапуск, если любое условие меньшего значения удовлетворено, а также, если возникает соответствующее условие сбоя, включающее исчерпание рабочего потока подсистемы и обнаружена неизменяемая взаимоблокировка.
Тип:AvailabilityGroupFailureConditionLevel
Допустимые значения:OnServerDown, OnServerUnresponsive, OnCriticalServerErrors, OnModerateServerErrors, OnAnyQualifiedFailureCondition, Unknown
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-HealthCheckTimeout

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

Тип:Int32
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-HostNameInCertificate

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

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

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-InputObject

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

Тип:AvailabilityGroup
Position:1
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-Path

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

Тип:String
Position:1
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ProgressAction

Определяет, как PowerShell реагирует на обновления хода выполнения, созданные скриптом, командлетом или поставщиком, например индикаторами хода выполнения, созданными командлетом Write-Progress. Командлет Write-Progress создает индикаторы хода выполнения, показывающие состояние команды.

Тип:ActionPreference
Aliases:proga
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-RequiredSynchronizedSecondariesToCommit

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

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

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

Тип:Int32
Position:Named
Default value:0
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Script

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

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-TrustServerCertificate

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

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

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

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-WhatIf

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

Тип:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

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

Microsoft.SqlServer.Management.Smo.AvailabilityGroup