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. Вы можете изменить параметры автоматического резервного копирования, уровень состояния сбоя и время ожидания проверки работоспособности. Этот командлет необходимо запустить на экземпляре сервера, на котором размещена первичная реплика.
PS C:\> Set-SqlAvailabilityGroup -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MAinAG" -HealthCheckTimeout 120000
Эта команда изменяет свойство времени ожидания проверки работоспособности в группе доступности с именем MainAG
на 120
секунд или две минуты.
Если автоматическая отработка отказа включена, после этого периода времени группы доступности AlwaysOn инициируют автоматическую отработку отказа.
PS C:\> Set-SqlAvailabilityGroup -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG" -AutomatedBackupPreference SecondaryOnly
Эта команда изменяет параметры автоматического резервного копирования в группе доступности с именем MainAG
, чтобы быть SecondaryOnly
.
Автоматическое резервное копирование баз данных в этой группе доступности не происходит на первичной реплике.
Вместо этого автоматические резервные копии выполняются на вторичной реплике, которая имеет наивысший приоритет резервного копирования.
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.
Маркер доступа, используемый для проверки подлинности в 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 |
Задает параметр автоматического резервного копирования для группы доступности. Допустимые значения для этого параметра:
- Первичный. Указывает, что резервные копии всегда выполняются на первичной реплике. Этот параметр поддерживает использование функций, недоступных при выполнении резервного копирования на вторичной реплике, например разностных резервных копий.
- SecondaryOnly. Указывает, что резервные копии никогда не выполняются на первичных репликах. Если основная реплика является единственной репликой в сети, резервное копирование не происходит.
- Вторичный. Указывает, что резервные копии выполняются во вторичных репликах, если основная реплика не является единственной репликой в сети. Затем резервное копирование происходит на первичной реплике.
- Никакой. Указывает, что основное или дополнительное состояние не учитывается при принятии решения о том, какая реплика выполняет резервное копирование. Вместо этого приоритет резервного копирования и состояние в сети определяют, какая реплика выполняет резервные копии.
Тип: | AvailabilityGroupAutomatedBackupPreference |
Допустимые значения: | Primary, SecondaryOnly, Secondary, None, Unknown |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
Запрашивает подтверждение перед запуском командлета.
Тип: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
Указывает, следует ли активировать автоматическую отработку отказа группы доступности, если любая реплика пользовательской базы данных в группе доступности обнаруживает условие сбоя базы данных.
Тип: | Boolean |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
Тип шифрования, используемый при подключении к SQL Server.
Это значение сопоставляется со свойством Encrypt
SqlConnectionEncryptOption
в объекте SqlConnection драйвера Microsoft.Data.SqlClient.
В версии 22 модуля по умолчанию используется Optional
(для совместимости с версией 21). В версии 23+ модуля значение по умолчанию будет "Обязательный", которое может создать критическое изменение для существующих скриптов.
Этот параметр является новым в версии 22 модуля.
Тип: | String |
Допустимые значения: | Mandatory, Optional, Strict |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
Указывает поведение автоматической отработки отказа группы доступности. Допустимые значения для этого параметра:
- 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 |
Указывает продолжительность времени в миллисекундах, после чего группы доступности AlwaysOn объявляют неответственный сервер, который будет неработоспособным.
Тип: | Int32 |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
Имя узла, используемое при проверке TLS/SSL-сертификата SQL Server. Этот параметр необходимо передать, если экземпляр SQL Server включен для принудительного шифрования и требуется подключиться к экземпляру с помощью имени узла или короткого имени. Если этот параметр опущен, передача полного доменного имени (FQDN) в -ServerInstance необходима для подключения к экземпляру SQL Server, включенного для принудительного шифрования.
Этот параметр является новым в версии 22 модуля.
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
Указывает группу доступности в качестве объекта AvailabilityGroup, которая изменяет этот командлет.
Тип: | AvailabilityGroup |
Position: | 1 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
Указывает путь к базе данных доступности, которая изменяет командлет. Если этот параметр не указан, этот командлет использует текущее рабочее расположение.
Тип: | String |
Position: | 1 |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
Определяет, как PowerShell реагирует на обновления хода выполнения, созданные скриптом, командлетом или поставщиком, например индикаторами хода выполнения, созданными командлетом Write-Progress. Командлет Write-Progress создает индикаторы хода выполнения, показывающие состояние команды.
Тип: | ActionPreference |
Aliases: | proga |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
Количество синхронных вторичных файлов фиксации, которые должны быть доступны для фиксации на первичном сервере.
Если дополнительный SYNCHRONOUS_COMMIT
отключается от основного в течение некоторого времени, основное понижение его до ASYNCHRONOUS_COMMIT
, чтобы избежать блокировок фиксаций. Если основной элемент становится недоступным, и пользователь хочет выполнить отработку отказа в один из этих вторичных файлов, он может привести к потере данных. Задав RequiredSynchronizedSecondariesToCommit на некоторое число, пользователь может предотвратить потерю данных, так как основной источник начнет блокировать фиксации, если слишком много вторичных файлов понижено до ASYNCHRONOUS_COMMIT
.
Значение по умолчанию этого параметра равно 0, что означает, что основной объект никогда не блокирует фиксации. Это идентично поведению перед SQL Server 2017.
Тип: | Int32 |
Position: | Named |
Default value: | 0 |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
Указывает, что этот командлет возвращает скрипт Transact-SQL, выполняющий задачу, выполняемую этим командлетом.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
Указывает, будет ли канал зашифрован при обходе цепочки сертификатов для проверки доверия.
В версии 22 модуля по умолчанию используется $true
(для совместимости с версией 21). В версии 23+ модуля значение по умолчанию будет иметь значение "$false", которое может создать критическое изменение для существующих скриптов.
Этот параметр является новым в версии 22 модуля.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
Показывает, что произойдет, если командлет выполняется. Командлет не выполняется.
Тип: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
Microsoft.SqlServer.Management.Smo.AvailabilityGroup