New-SqlAvailabilityReplica
Создает реплику доступности.
Синтаксис
ByPath (по умолчанию)
New-SqlAvailabilityReplica
[-Name] <String>
[[-Path] <String>]
-AvailabilityMode <AvailabilityReplicaAvailabilityMode>
-FailoverMode <AvailabilityReplicaFailoverMode>
-EndpointUrl <String>
[-SessionTimeout <Int32>]
[-ConnectionModeInPrimaryRole <AvailabilityReplicaConnectionModeInPrimaryRole>]
[-ConnectionModeInSecondaryRole <AvailabilityReplicaConnectionModeInSecondaryRole>]
[-BackupPriority <Int32>]
[-ReadOnlyRoutingList <String[]>]
[-ReadonlyRoutingConnectionUrl <String>]
[-SeedingMode <AvailabilityReplicaSeedingMode>]
[-LoadBalancedReadOnlyRoutingList <String[][]>]
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
AsTemplate
New-SqlAvailabilityReplica
[-Name] <String>
-AvailabilityMode <AvailabilityReplicaAvailabilityMode>
-FailoverMode <AvailabilityReplicaFailoverMode>
-EndpointUrl <String>
[-SessionTimeout <Int32>]
[-ConnectionModeInPrimaryRole <AvailabilityReplicaConnectionModeInPrimaryRole>]
[-ConnectionModeInSecondaryRole <AvailabilityReplicaConnectionModeInSecondaryRole>]
[-BackupPriority <Int32>]
[-ReadOnlyRoutingList <String[]>]
[-ReadonlyRoutingConnectionUrl <String>]
[-SeedingMode <AvailabilityReplicaSeedingMode>]
[-LoadBalancedReadOnlyRoutingList <String[][]>]
[-AsTemplate]
[-Version <ServerVersion>]
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
ByObject
New-SqlAvailabilityReplica
[-Name] <String>
[-InputObject] <AvailabilityGroup>
-AvailabilityMode <AvailabilityReplicaAvailabilityMode>
-FailoverMode <AvailabilityReplicaFailoverMode>
-EndpointUrl <String>
[-SessionTimeout <Int32>]
[-ConnectionModeInPrimaryRole <AvailabilityReplicaConnectionModeInPrimaryRole>]
[-ConnectionModeInSecondaryRole <AvailabilityReplicaConnectionModeInSecondaryRole>]
[-BackupPriority <Int32>]
[-ReadOnlyRoutingList <String[]>]
[-ReadonlyRoutingConnectionUrl <String>]
[-SeedingMode <AvailabilityReplicaSeedingMode>]
[-LoadBalancedReadOnlyRoutingList <String[][]>]
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Описание
Командлет New-SqlAvailabilityReplica создает реплику доступности. Запустите этот командлет на экземпляре SQL Server, на котором размещена первичная реплика.
Чтобы создать реплику доступности перед созданием группы доступности, укажите параметр AsTemplate . Чтобы добавить реплику в существующую группу доступности, параметр InputObject или Path указывает группу доступности.
Примеры
Пример 1. Создание представления реплики доступности
PS C:\> $ServerObject = Get-Item "SQLSERVER:\Sql\PrimaryServer\InstanceName"
PS C:\> New-SqlAvailabilityReplica -Name "PrimaryServer\Instance" -EndpointUrl "TCP://PrimaryServerName.domain.com:5022" -FailoverMode Automatic -AvailabilityMode SynchronousCommit -AsTemplate -Version $ServerObject.Version
В этом примере создается представление реплики доступности в памяти. Изменения не фиксируются на сервере. Эту реплику можно использовать в качестве значения для параметра AvailabilityReplicaв New-SqlAvailabilityGroup
Первая команда получает экземпляр первичного сервера.
Вторая команда создает реплику доступности. Эта реплика использует конечную точку зеркального отображения базы данных, расположенную по указанному URL-адресу, для взаимодействия с другими репликами в группе доступности. Эта реплика поддерживает автоматическую отработку отказа и режим доступности синхронной фиксации. Параметр Version указывает версию экземпляра сервера, на котором будет размещаться новая реплика.
Пример 2. Создает реплику доступности, которая поддерживает отработку отказа вручную и асинхроннуюcommit
PS C:\> $ServerObject = Get-Item "SQLSERVER:\Sql\PrimaryServer\InstanceName"
PS C:\> New-SqlAvailabilityReplica -Name "SecondaryServer\Instance" -EndpointUrl "TCP://PrimaryServerName.domain.com:5022" -FailoverMode Manual -AvailabilityMode AsynchronousCommit -AsTemplate -Version $ServerObject.Version
В этом примере создается представление реплики доступности в памяти. Изменения не фиксируются на сервере.
Первая команда получает экземпляр первичного сервера.
Вторая команда создает реплику доступности. Эта реплика использует конечную точку зеркального отображения базы данных, расположенную по указанному URL-адресу, для взаимодействия с другими репликами в группе доступности. Эта реплика поддерживает отработку отказа вручную и режим доступности асинхронной фиксации. Параметр Version указывает версию экземпляра сервера, на котором будет размещаться новая реплика.
Пример 3. Добавление реплики доступности в группу доступности
PS C:\> New-SqlAvailabilityReplica -Name "SecondaryServer\Instance" -EndpointUrl "TCP://PrimaryServerName.domain.com:5022" -FailoverMode Manual -AvailabilityMode AsynchronousCommit -ConnectionModeInSecondaryRole AllowAllConnections -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG"
Эта команда добавляет реплику доступности в существующую группу доступности с именем MainAG. Данная реплика поддерживает переход на другой ресурс вручную и режим доступности «Asynchronous Commit». В вторичной роли эта реплика поддерживает подключения для чтения. Эта конфигурация позволяет выгрузить обработку только для чтения в эту реплику.
Параметры
-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 |
-AsTemplate
Указывает, что этот командлет создает временный объект AvailabilityReplica в памяти. Укажите этот параметр для создания группы доступности перед созданием реплики доступности. Создайте группу доступности с помощью командлета New-SqlAvailabilityGroup . Укажите временную реплику доступности в качестве значения параметра AvailabilityReplica .
При указании AsTemplate этот командлет игнорирует значения параметров InputObject и Path .
Если этот параметр указан, необходимо также указать версию SQL Server для параметра Version или текущий сеанс должен иметь активное подключение к экземпляру.
Свойства параметра
| Тип: | SwitchParameter |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
AsTemplate
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-AvailabilityMode
Указывает режим доступности реплики.
Можно указать значение $Null.
Свойства параметра
| Тип: | AvailabilityReplicaAvailabilityMode |
| Default value: | None |
| Допустимые значения: | AsynchronousCommit, SynchronousCommit, Unknown, ConfigurationOnly |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | True |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-BackupPriority
Указывает требуемый приоритет реплик при выполнении резервных копий. Допустимые значения для этого параметра являются целыми числами от 0 до 100. Из набора реплик, которые находятся в сети и доступны, реплика, которая имеет наивысший приоритет, выполняет резервное копирование.
Свойства параметра
| Тип: | 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 |
| Обязательно: | True |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-FailoverMode
Указывает режим отработки отказа.
Можно указать значение $Null
Свойства параметра
| Тип: | AvailabilityReplicaFailoverMode |
| Default value: | None |
| Допустимые значения: | Automatic, Manual, External, Unknown |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | True |
| Значение из конвейера: | 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: | 2 |
| Обязательно: | 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 |
-Name
Указывает имя реплики доступности в следующем формате: Computer\Instance
Свойства параметра
| Тип: | String |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
(All)
| Position: | 1 |
| Обязательно: | True |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-Path
Указывает путь группы доступности, к которой принадлежит реплика. Если этот параметр не указан, этот командлет использует текущее рабочее расположение.
Свойства параметра
| Тип: | String |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
ByPath
| Position: | 2 |
| Обязательно: | 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: | Manual |
| Допустимые значения: | 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 |
-Version
Указывает версию SQL Server. Если указать параметр AsTemplate , необходимо указать версию. Объект шаблона создается в режиме разработки на сервере, который включает эту версию. Можно указать целое число или строку, как показано в следующих примерах (SQL Server 2017):
- 14
- '14.0.0'
Свойства параметра
| Тип: | ServerVersion |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
AsTemplate
| 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
Вы можете передать группу доступности этому командлету.
Выходные данные
Microsoft.SqlServer.Management.Smo.AvailabilityReplica
Этот командлет возвращает реплику доступности.