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


Set-SqlAvailabilityReplica

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

Синтаксис

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

Set-SqlAvailabilityReplica
    [[-Path] <String>]
    [-AvailabilityMode <AvailabilityReplicaAvailabilityMode>]
    [-FailoverMode <AvailabilityReplicaFailoverMode>]
    [-EndpointUrl <String>]
    [-SessionTimeout <Int32>]
    [-ConnectionModeInPrimaryRole <AvailabilityReplicaConnectionModeInPrimaryRole>]
    [-ConnectionModeInSecondaryRole <AvailabilityReplicaConnectionModeInSecondaryRole>]
    [-SeedingMode <AvailabilityReplicaSeedingMode>]
    [-BackupPriority <Int32>]
    [-ReadOnlyRoutingList <String[]>]
    [-ReadonlyRoutingConnectionUrl <String>]
    [-LoadBalancedReadOnlyRoutingList <String[][]>]
    [-Script]
    [-AccessToken <PSObject>]
    [-TrustServerCertificate]
    [-HostNameInCertificate <String>]
    [-Encrypt <String>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ByObject

Set-SqlAvailabilityReplica
    [-InputObject] <AvailabilityReplica>
    [-AvailabilityMode <AvailabilityReplicaAvailabilityMode>]
    [-FailoverMode <AvailabilityReplicaFailoverMode>]
    [-EndpointUrl <String>]
    [-SessionTimeout <Int32>]
    [-ConnectionModeInPrimaryRole <AvailabilityReplicaConnectionModeInPrimaryRole>]
    [-ConnectionModeInSecondaryRole <AvailabilityReplicaConnectionModeInSecondaryRole>]
    [-SeedingMode <AvailabilityReplicaSeedingMode>]
    [-BackupPriority <Int32>]
    [-ReadOnlyRoutingList <String[]>]
    [-ReadonlyRoutingConnectionUrl <String>]
    [-LoadBalancedReadOnlyRoutingList <String[][]>]
    [-Script]
    [-AccessToken <PSObject>]
    [-TrustServerCertificate]
    [-HostNameInCertificate <String>]
    [-Encrypt <String>]
    [-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"

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

Параметры

-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

-AvailabilityMode

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

Можно указать значение $Null.

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

Тип:AvailabilityReplicaAvailabilityMode
Default value:None
Допустимые значения:AsynchronousCommit, SynchronousCommit, Unknown, ConfigurationOnly
Поддерживаются подстановочные знаки:False
DontShow:False

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

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

-BackupPriority

Указывает требуемый приоритет реплик при выполнении резервных копий. Допустимые значения для этого параметра являются целыми числами от 0 до 100. Из набора реплик, которые находятся в сети и доступны, реплика, которая имеет наивысший приоритет, выполняет резервное копирование.

Значение нуля (0) указывает, что реплика не является кандидатом.

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

Тип:Int32
Default value:None
Поддерживаются подстановочные знаки: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

-ConnectionModeInPrimaryRole

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

  • AllowReadWriteConnections. Разрешает подключения для чтения и записи.
  • AllowAllConnections. Разрешает все подключения.

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

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

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

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

-ConnectionModeInSecondaryRole

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

  • AllowNoConnections. Запрещает подключения.
  • AllowReadIntentConnectionsOnly. Разрешает только подключения с намерением чтения.
  • AllowAllConnections. Разрешает все подключения.

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

Тип:AvailabilityReplicaConnectionModeInSecondaryRole
Default value:None
Допустимые значения:AllowNoConnections, AllowReadIntentConnectionsOnly, AllowAllConnections, Unknown
Поддерживаются подстановочные знаки: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

-EndpointUrl

Указывает URL-адрес конечной точки зеркального отображения базы данных. Этот URL-адрес представляет собой TCP-адрес в следующей форме: TCP://system-address:port

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

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

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

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

-FailoverMode

Указывает режим отработки отказа.

Можно указать значение $Null.

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

Тип:AvailabilityReplicaFailoverMode
Default value:None
Допустимые значения:Automatic, Manual, External, Unknown
Поддерживаются подстановочные знаки: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, к которому принадлежит реплика.

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

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

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

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

-LoadBalancedReadOnlyRoutingList

Задает список маршрутизации только для чтения с балансировкой нагрузки.

Список маршрутизации — это список наборов балансировки нагрузки, которые, в свою очередь, являются списками реплик.

Например, передача значения, например

@('Server1','Server2'),@('Server3'),@('Server4')

означает, что мы передаваем 3 наборов балансировки нагрузки: 1 с 2 репликами (Server1 и Server2) и 2 с только одним (Server3 и Server4 соответственно).

Во время выполнения SQL Server будет выглядеть последовательно во всех наборах балансировки нагрузки, пока не найдет один из них, который по крайней мере на реплике доступен и используется для балансировки нагрузки.

Таким образом, в приведенном выше примере, если сервер1 и Server2 недоступны, но сервер 3 — sql Server будет выбирать Server3.

Этот командлет задает только список маршрутизации только для чтения и не проверяет доступность указанных реплик.

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

Тип:

String[][]

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

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

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

-Path

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

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

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

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

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

-ReadonlyRoutingConnectionUrl

Указывает полное доменное имя (FQDN) и порт, используемый при маршрутизации в реплику для подключений только для чтения, как показано в следующем примере: TCP://DBSERVER8.manufacturing.Contoso.com:7024

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

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

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

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

-ReadOnlyRoutingList

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

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

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки: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

-SeedingMode

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

Допустимые значения:

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

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

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

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

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

-SessionTimeout

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

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

Тип:Int32
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.AvailabilityReplica