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.
Это значение сопоставляется со свойством Encrypt
SqlConnectionEncryptOption
объекта 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