New-SqlAvailabilityReplica
Cria uma réplica de disponibilidade.
Sintaxe
ByPath (Padrão)
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>]
Description
O cmdlet New-SqlAvailabilityReplica cria uma réplica de disponibilidade. Execute este cmdlet na instância do SQL Server que hospeda a réplica primária.
Para criar uma réplica de disponibilidade antes de criar um grupo de disponibilidade, especifique o parâmetro AsTemplate . Para adicionar uma réplica a um grupo de disponibilidade existente, o parâmetro InputObject ou Path especifica o grupo de disponibilidade.
Exemplos
Exemplo 1: Cria uma representação de uma réplica de disponibilidade
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
Este exemplo cria uma representação na memória de uma réplica de disponibilidade. Nenhuma alteração é confirmada no servidor. Você pode usar essa réplica como um valor para o parâmetro AvailabilityReplica de New-SqlAvailabilityGroup
O primeiro comando obtém uma instância do servidor primário.
O segundo comando cria a réplica de disponibilidade. Essa réplica usa o ponto de extremidade de espelhamento de banco de dados localizado na URL especificada para se comunicar com outras réplicas no grupo de disponibilidade. Essa réplica dá suporte ao failover automático e ao modo de disponibilidade de confirmação síncrona. O parâmetro Version especifica a versão da instância do servidor que hospedará essa nova réplica.
Exemplo 2: Cria uma réplica de disponibilidade que dá suporte ao failover manual e ao assíncrono
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
Este exemplo cria uma representação na memória de uma réplica de disponibilidade. Nenhuma alteração é confirmada no servidor.
O primeiro comando obtém uma instância do servidor primário.
O segundo comando cria a réplica de disponibilidade. Essa réplica usa o ponto de extremidade de espelhamento de banco de dados localizado na URL especificada para se comunicar com outras réplicas no grupo de disponibilidade. Essa réplica dá suporte ao failover manual e ao modo de disponibilidade de confirmação assíncrona. O parâmetro Version especifica a versão da instância do servidor que hospedará essa nova réplica.
Exemplo 3: adicionar uma réplica de disponibilidade a um grupo de disponibilidade
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"
Esse comando adiciona uma réplica de disponibilidade a um grupo de disponibilidade existente chamado 'MainAG'. Esta réplica dá suporte a failover manual e ao modo de disponibilidade de confirmação assíncrona. Na função secundária, essa réplica dá suporte a conexões de acesso de leitura. Essa configuração permite descarregar o processamento somente leitura para essa réplica.
Parâmetros
-AccessToken
O token de acesso usado para autenticar no SQL Server, como uma alternativa ao usuário/senha ou à Autenticação do Windows.
Isso pode ser usado, por exemplo, para se conectar SQL Azure DB e SQL Azure Managed Instance usar um Service Principal ou um Managed Identity.
O parâmetro a ser usado pode ser uma cadeia de caracteres que representa o token ou um PSAccessToken objeto conforme retornado executando Get-AzAccessToken -ResourceUrl https://database.windows.net.
Esse parâmetro é novo na v22 do módulo.
Propriedades do parâmetro
| Tipo: | PSObject |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-AsTemplate
Indica que esse cmdlet cria um objeto AvailabilityReplica temporário na memória. Especifique esse parâmetro para criar um grupo de disponibilidade antes de criar uma réplica de disponibilidade. Crie um grupo de disponibilidade usando o cmdlet New-SqlAvailabilityGroup . Especifique a réplica de disponibilidade temporária como o valor do parâmetro AvailabilityReplica .
Se você especificar AsTemplate, esse cmdlet ignorará os valores dos parâmetros InputObject e Path .
Se você especificar esse parâmetro, também deverá especificar uma versão do SQL Server para o parâmetro Version ou sua sessão atual deverá ter uma conexão ativa com uma instância.
Propriedades do parâmetro
| Tipo: | SwitchParameter |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
AsTemplate
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-AvailabilityMode
Especifica o modo de disponibilidade da réplica.
Você pode especificar um valor de $Null.
Propriedades do parâmetro
| Tipo: | AvailabilityReplicaAvailabilityMode |
| Valor padrão: | None |
| Valores aceitos: | AsynchronousCommit, SynchronousCommit, Unknown, ConfigurationOnly |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-BackupPriority
Especifica a prioridade desejada das réplicas na execução de backups. Os valores aceitáveis para esse parâmetro são inteiros de 0 a 100. Do conjunto de réplicas que estão online e disponíveis, a réplica que tem a prioridade mais alta executa o backup.
Propriedades do parâmetro
| Tipo: | Int32 |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-Confirm
Solicita sua confirmação antes de executar o cmdlet.
Propriedades do parâmetro
| Tipo: | SwitchParameter |
| Valor padrão: | False |
| Dá suporte a curingas: | False |
| DontShow: | False |
| Aliases: | cf |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-ConnectionModeInPrimaryRole
Especifica como a réplica de disponibilidade lida com conexões quando está na função primária.
Os valores aceitáveis para este parâmetro são:
- AllowReadWriteConnections. Permite conexões de leitura/gravação
- AllowAllConnections. Permite todas as conexões
Propriedades do parâmetro
| Tipo: | AvailabilityReplicaConnectionModeInPrimaryRole |
| Valor padrão: | None |
| Valores aceitos: | AllowAllConnections, AllowReadWriteConnections, Unknown |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-ConnectionModeInSecondaryRole
Especifica como a réplica de disponibilidade lida com conexões quando na função secundária. Os valores aceitáveis para este parâmetro são:
- AllowNoConnections. Não permite conexões
- AllowReadIntentConnectionsOnly. Permite apenas conexões de intenção de leitura
- AllowAllConnections. Permite todas as conexões
Propriedades do parâmetro
| Tipo: | AvailabilityReplicaConnectionModeInSecondaryRole |
| Valor padrão: | None |
| Valores aceitos: | AllowNoConnections, AllowReadIntentConnectionsOnly, AllowAllConnections, Unknown |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-Encrypt
O tipo de criptografia a ser usado ao se conectar ao SQL Server.
Esse valor é mapeado para a Encrypt propriedade SqlConnectionEncryptOption no objeto SqlConnection do driver Microsoft.Data.SqlClient.
Na v22 do módulo, o padrão é Optional (para compatibilidade com v21). Na v23+ do módulo, o valor padrão será 'Obrigatório', o que pode criar uma alteração significativa para scripts existentes.
Esse parâmetro é novo na v22 do módulo.
Propriedades do parâmetro
| Tipo: | String |
| Valor padrão: | None |
| Valores aceitos: | Mandatory, Optional, Strict |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-EndpointUrl
Especifica a URL do ponto de extremidade de espelhamento de banco de dados. Essa URL é um endereço TCP no seguinte formulário:
TCP://system-address:port
Propriedades do parâmetro
| Tipo: | String |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-FailoverMode
Especifica o modo de failover.
Você pode especificar um valor de $Null
Propriedades do parâmetro
| Tipo: | AvailabilityReplicaFailoverMode |
| Valor padrão: | None |
| Valores aceitos: | Automatic, Manual, External, Unknown |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-HostNameInCertificate
O nome do host a ser usado na validação do certificado TLS/SSL do SQL Server. Você deve passar esse parâmetro se a instância do SQL Server estiver habilitada para o Force Encryption e quiser se conectar a uma instância usando nome de host/nome curto. Se esse parâmetro for omitido, passar o FQDN (Nome de Domínio Totalmente Qualificado) para -ServerInstance será necessário para se conectar a uma instância do SQL Server habilitada para o Force Encryption.
Esse parâmetro é novo na v22 do módulo.
Propriedades do parâmetro
| Tipo: | String |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-InputObject
Especifica o grupo de disponibilidade, como um objeto AvailabilityGroup , ao qual a réplica pertence.
Propriedades do parâmetro
| Tipo: | AvailabilityGroup |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
ByObject
| Cargo: | 2 |
| Obrigatório: | True |
| Valor do pipeline: | True |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-LoadBalancedReadOnlyRoutingList
Especifica a lista de roteamento somente leitura com balanceamento de carga.
A lista de roteamento é uma lista de conjuntos com balanceamento de carga, que, por sua vez, são listas de réplicas.
Por exemplo, passar um valor como
@('Server1','Server2'),@('Server3'),@('Server4')
significa o que estamos passando 3 conjuntos com balanceamento de carga: 1 com 2 réplicas (Server1 e Server2) e 2 com apenas um (Server3 e Server4, respectivamente).
No runtime, o SQL Server examinará sequencialmente todos os conjuntos com balanceamento de carga até encontrar um de modo que pelo menos na réplica esteja disponível e use-o para balanceamento de carga.
Portanto, no exemplo acima, se o Server1 e o Server2 não estiverem disponíveis, mas o Server3 estiver, o SQL Server escolherá Server3.
Esse cmdlet define apenas a lista de roteamento somente leitura e não verifica a disponibilidade das réplicas especificadas.
Propriedades do parâmetro
| Tipo: | String[][] |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-Name
Especifica um nome para a réplica de disponibilidade no seguinte formato: Computador\Instância
Propriedades do parâmetro
| Tipo: | String |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | 1 |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-Path
Especifica o caminho do grupo de disponibilidade ao qual a réplica pertence. Se você não especificar esse parâmetro, esse cmdlet usará o local de trabalho atual.
Propriedades do parâmetro
| Tipo: | String |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
ByPath
| Cargo: | 2 |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-ReadonlyRoutingConnectionUrl
Especifica o FQDN (nome de domínio totalmente qualificado) e a porta a serem usadas ao rotear para a réplica para conexões somente leitura, como no exemplo a seguir: TCP://DBSERVER8.manufacturing.Contoso.com:7024
Propriedades do parâmetro
| Tipo: | String |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-ReadOnlyRoutingList
Especifica uma lista ordenada de nomes de servidor de réplica que representam a sequência de investigação para o diretor de conexão usar ao redirecionar conexões somente leitura por meio dessa réplica de disponibilidade. Esse parâmetro se aplica se a réplica de disponibilidade é a réplica primária atual do grupo de disponibilidade.
Propriedades do parâmetro
| Tipo: | String[] |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-Script
Indica que esse cmdlet retorna um script Transact-SQL que executa a tarefa executada por esse cmdlet.
Propriedades do parâmetro
| Tipo: | SwitchParameter |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-SeedingMode
Especifica como a réplica secundária será propagada inicialmente.
Valores permitidos:
- Automático. Habilita a propagação direta. Esse método propagará a réplica secundária na rede. Esse método não exige que você faça backup e restaure uma cópia do banco de dados primário na réplica.
- Manual. Especifica a propagação manual. Esse método requer que você crie um backup do banco de dados na réplica primária e restaure manualmente esse backup na réplica secundária.
Propriedades do parâmetro
| Tipo: | AvailabilityReplicaSeedingMode |
| Valor padrão: | Manual |
| Valores aceitos: | Automatic, Manual |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-SessionTimeout
Especifica a quantidade de tempo, em segundos, para aguardar uma resposta entre a réplica primária e essa réplica antes que a conexão falhe.
Propriedades do parâmetro
| Tipo: | Int32 |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-TrustServerCertificate
Indica se o canal será criptografado ao ignorar a cadeia de certificados para validar a confiança.
Na v22 do módulo, o padrão é $true (para compatibilidade com v21). Na v23+ do módulo, o valor padrão será "$false", o que pode criar uma alteração significativa para scripts existentes.
Esse parâmetro é novo na v22 do módulo.
Propriedades do parâmetro
| Tipo: | SwitchParameter |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-Version
Especifica uma versão do SQL Server. Se você especificar o parâmetro AsTemplate , deverá especificar uma versão. O objeto de modelo é criado no modo de design em um servidor que inclui essa versão. Você pode especificar um inteiro ou uma cadeia de caracteres, como nos exemplos a seguir (SQL Server 2017):
- 14
- '14.0.0'
Propriedades do parâmetro
| Tipo: | ServerVersion |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
AsTemplate
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-WhatIf
Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.
Propriedades do parâmetro
| Tipo: | SwitchParameter |
| Valor padrão: | False |
| Dá suporte a curingas: | False |
| DontShow: | False |
| Aliases: | wi |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
CommonParameters
Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.
Entradas
Microsoft.SqlServer.Management.Smo.AvailabilityGroup
Você pode passar um grupo de disponibilidade para este cmdlet.
Saídas
Microsoft.SqlServer.Management.Smo.AvailabilityReplica
Esse cmdlet retorna uma réplica de disponibilidade.