Set-SqlAvailabilityReplica
Задает параметры реплики доступности.
Синтаксис
Set-SqlAvailabilityReplica
[-AvailabilityMode <AvailabilityReplicaAvailabilityMode>]
[-FailoverMode <AvailabilityReplicaFailoverMode>]
[-EndpointUrl <String>]
[-SessionTimeout <Int32>]
[-ConnectionModeInPrimaryRole <AvailabilityReplicaConnectionModeInPrimaryRole>]
[-ConnectionModeInSecondaryRole <AvailabilityReplicaConnectionModeInSecondaryRole>]
[-SeedingMode <AvailabilityReplicaSeedingMode>]
[-BackupPriority <Int32>]
[-ReadOnlyRoutingList <String[]>]
[-ReadonlyRoutingConnectionUrl <String>]
[-LoadBalancedReadOnlyRoutingList <String[][]>]
[[-Path] <String>]
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-ProgressAction <ActionPreference>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-SqlAvailabilityReplica
[-AvailabilityMode <AvailabilityReplicaAvailabilityMode>]
[-FailoverMode <AvailabilityReplicaFailoverMode>]
[-EndpointUrl <String>]
[-SessionTimeout <Int32>]
[-ConnectionModeInPrimaryRole <AvailabilityReplicaConnectionModeInPrimaryRole>]
[-ConnectionModeInSecondaryRole <AvailabilityReplicaConnectionModeInSecondaryRole>]
[-SeedingMode <AvailabilityReplicaSeedingMode>]
[-BackupPriority <Int32>]
[-ReadOnlyRoutingList <String[]>]
[-ReadonlyRoutingConnectionUrl <String>]
[-LoadBalancedReadOnlyRoutingList <String[][]>]
[-InputObject] <AvailabilityReplica>
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-ProgressAction <ActionPreference>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Описание
Командлет Set-SqlAvailabilityReplica наборы или изменяет различные свойства для реплики доступности. Запустите этот командлет на экземпляре сервера, на котором размещена первичная реплика.
Примеры
Пример 1. Изменение режима доступности реплики и автоматической отработки отказа
PS C:\> Set-SqlAvailabilityReplica -AvailabilityMode "SynchronousCommit" -FailoverMode Automatic -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityReplicas\Replica02"
Эта команда изменяет реплику с именем Replica02
в группе доступности с именем MainAG
для использования режима доступности synchronous-commit
и поддержки automatic failover
.
Пример 2. Изменение реплики для поддержки принудительной отработки отказа вручную
PS C:\> Set-SqlAvailabilityReplica -AvailabilityMode AsynchronousCommit -FailoverMode Manual -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityReplicas\Replica02"
Эта команда изменяет реплику с именем Replica02
в группе доступности с именем MainAG
использовать режим доступности asynchronous-commit
и поддерживать только forced manual failover
, что может привести к потере данных.
Пример 3. Разрешить все подключения в вторичной роли
PS C:\> Set-SqlAvailabilityReplica -ConnectionModeInSecondaryRole AllowAllConnections -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityReplicas\Replica02"
Эта команда изменяет реплику Replica02
в группе доступности MainAG
, чтобы разрешить все подключения в вторичной роли.
Это позволяет выгрузить рабочие нагрузки обработки данных только для чтения на вторичные реплики.
Пример 4. Настройка первичной реплики и вторичной реплики для маршрутизации на чтение
PS C:\> Set-Location "SQLSERVER:\SQL\PrimaryServer\default\AvailabilityGroups\MainAG"
PS C:\> $PrimaryReplica = Get-Item "AvailabilityReplicas\PrimaryServer"
PS C:\> $SecondaryReplica = Get-Item "AvailabilityReplicas\SecondaryServer"
PS C:\> Set-SqlAvailabilityReplica -ReadOnlyRoutingConnectionUrl "TCP://PrimaryServer.domain.com:5022" -InputObject $PrimaryReplica
PS C:\> Set-SqlAvailabilityReplica -ReadOnlyRoutingConnectionUrl "TCP://SecondaryServer.domain.com:5022" -InputObject $SecondaryReplica
PS C:\> Set-SqlAvailabilityReplica -ReadOnlyRoutingList "SecondaryServer","PrimaryServer" -InputObject $PrimaryReplica
Первая команда изменяет расположение в расположении в SQLSERVER: поставщик.
Четвертая команда назначает URL-адрес маршрутизации только для чтения первичной реплике. Затем он задает список маршрутизации только для чтения на первичной реплике.
Пример 5. Изменение приоритета резервного копирования
PS C:\> Set-SqlAvailabilityReplica -BackupPriority 60 -Path "SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MainAG\AvailabilityReplicas\Replica02"
Эта команда задает приоритет резервного копирования реплики доступности Replica02
для 60
.
Этот приоритет используется экземпляром сервера, на котором размещена первичная реплика, чтобы решить, какая реплика должна обслуживать автоматический запрос резервного копирования в базе данных в группе доступности. Выбрана реплика с наивысшим приоритетом.
Параметры
-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 |
-AvailabilityMode
Указывает режим доступности реплики.
Можно указать значение $Null
.
Тип: | AvailabilityReplicaAvailabilityMode |
Допустимые значения: | AsynchronousCommit, SynchronousCommit, Unknown, ConfigurationOnly |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-BackupPriority
Указывает требуемый приоритет реплик при выполнении резервных копий. Допустимые значения для этого параметра являются целыми числами от 0 до 100. Из набора реплик, которые находятся в сети и доступны, реплика, которая имеет наивысший приоритет, выполняет резервное копирование.
Значение нуля (0) указывает, что реплика не является кандидатом.
Тип: | Int32 |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Confirm
Запрашивает подтверждение перед запуском командлета.
Тип: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-ConnectionModeInPrimaryRole
Указывает, как реплика доступности обрабатывает подключения при первичной роли. Допустимые значения для этого параметра:
- AllowReadWriteConnections. Разрешает подключения для чтения и записи.
- AllowAllConnections. Разрешает все подключения.
Тип: | AvailabilityReplicaConnectionModeInPrimaryRole |
Допустимые значения: | AllowAllConnections, AllowReadWriteConnections, Unknown |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-ConnectionModeInSecondaryRole
Указывает, как реплика доступности обрабатывает подключения при выполнении вторичной роли. Допустимые значения для этого параметра:
- AllowNoConnections. Запрещает подключения.
- AllowReadIntentConnectionsOnly. Разрешает только подключения с намерением чтения.
- AllowAllConnections. Разрешает все подключения.
Тип: | AvailabilityReplicaConnectionModeInSecondaryRole |
Допустимые значения: | AllowNoConnections, AllowReadIntentConnectionsOnly, AllowAllConnections, Unknown |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Encrypt
Тип шифрования, используемый при подключении к 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 |
-EndpointUrl
Указывает URL-адрес конечной точки зеркального отображения базы данных.
Этот URL-адрес представляет собой TCP-адрес в следующей форме: TCP://system-address:port
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-FailoverMode
Указывает режим отработки отказа.
Можно указать значение $Null
.
Тип: | AvailabilityReplicaFailoverMode |
Допустимые значения: | Automatic, Manual, External, Unknown |
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, к которому принадлежит реплика.
Тип: | AvailabilityReplica |
Position: | 1 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-LoadBalancedReadOnlyRoutingList
Задает список маршрутизации только для чтения с балансировкой нагрузки.
Список маршрутизации — это список наборов балансировки нагрузки, которые, в свою очередь, являются списками реплик.
Например, передача значения, например
@('Server1','Server2'),@('Server3'),@('Server4')
означает, что мы передаваем 3 наборов балансировки нагрузки: 1 с 2 репликами (Server1 и Server2) и 2 с только одним (Server3 и Server4 соответственно).
Во время выполнения SQL Server будет выглядеть последовательно во всех наборах балансировки нагрузки, пока не найдет один из них, который по крайней мере на реплике доступен и используется для балансировки нагрузки.
Таким образом, в приведенном выше примере, если сервер1 и Server2 недоступны, но сервер 3 — sql Server будет выбирать Server3.
Этот командлет задает только список маршрутизации только для чтения и не проверяет доступность указанных реплик.
Тип: | String[][] |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | 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 |
-ReadonlyRoutingConnectionUrl
Указывает полное доменное имя (FQDN) и порт, используемый при маршрутизации в реплику для подключений только для чтения, как показано в следующем примере: TCP://DBSERVER8.manufacturing.Contoso.com:7024
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-ReadOnlyRoutingList
Указывает упорядоченный список имен серверов-реплик, представляющих последовательность проб для директора подключения, используемого при перенаправлении подключений только для чтения через эту реплику доступности. Этот параметр применяется, если реплика доступности является текущей первичной репликой группы доступности.
Тип: | String[] |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Script
Указывает, что этот командлет возвращает скрипт Transact-SQL, выполняющий задачу, выполняемую этим командлетом.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-SeedingMode
Указывает, как начальная реплика вторичной реплики будет заполняться.
Допустимые значения:
- Автоматически. Включает прямое сеяние. Этот метод будет заполнять вторичную реплику по сети. Этот метод не требует резервного копирования и восстановления копии базы данных-источника на реплике.
- Вручную. Указывает начальное значение вручную. Для этого метода необходимо создать резервную копию базы данных на первичной реплике и вручную восстановить резервную копию на вторичной реплике.
Тип: | AvailabilityReplicaSeedingMode |
Допустимые значения: | Automatic, Manual |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-SessionTimeout
Указывает время ожидания ответа между первичной репликой и этой репликой до сбоя подключения.
Тип: | Int32 |
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.AvailabilityReplica