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


Set-SqlAvailabilityGroup

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

Синтаксис

ByPath (по умолчанию)

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

ByObject

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

Описание

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

Примеры

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

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

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

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

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

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

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

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

Эта команда изменяет уровень состояния сбоя в именованной группе MainAGOnServerDownдоступности. Если экземпляр сервера, на котором размещена первичная реплика, переходит в автономный режим, а если включена автоматическая отработка отказа, группы доступности 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 или aService PrincipalManaged Identity.

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

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

Свойства параметра

Тип:PSObject
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-AutomatedBackupPreference

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

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

Свойства параметра

Тип:AvailabilityGroupAutomatedBackupPreference
Default value:None
Допустимые значения:Primary, SecondaryOnly, Secondary, None, Unknown
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Confirm

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

Свойства параметра

Тип:SwitchParameter
Default value:False
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:cf

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-DatabaseHealthTrigger

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

Свойства параметра

Тип:Boolean
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Encrypt

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

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

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

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

Свойства параметра

Тип:String
Default value:None
Допустимые значения:Mandatory, Optional, Strict
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-FailureConditionLevel

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

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

Свойства параметра

Тип:AvailabilityGroupFailureConditionLevel
Default value:None
Допустимые значения:OnServerDown, OnServerUnresponsive, OnCriticalServerErrors, OnModerateServerErrors, OnAnyQualifiedFailureCondition, Unknown
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-HealthCheckTimeout

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

Свойства параметра

Тип:Int32
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-HostNameInCertificate

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

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

Свойства параметра

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-InputObject

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

Свойства параметра

Тип:AvailabilityGroup
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

ByObject
Position:1
Обязательно:True
Значение из конвейера:True
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Path

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

Свойства параметра

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

ByPath
Position:1
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-RequiredSynchronizedSecondariesToCommit

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

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

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

Свойства параметра

Тип:Int32
Default value:0
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Script

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

Свойства параметра

Тип:SwitchParameter
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-TrustServerCertificate

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

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

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

Свойства параметра

Тип:SwitchParameter
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-WhatIf

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

Свойства параметра

Тип:SwitchParameter
Default value:False
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:wi

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

CommonParameters

Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.

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

Microsoft.SqlServer.Management.Smo.AvailabilityGroup