Set-SqlAvailabilityReplica
Define as configurações em uma réplica de disponibilidade.
Sintaxe
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>]
Description
O cmdlet Set-SqlAvailabilityReplica define ou modifica uma variedade de propriedades para uma réplica de disponibilidade. Execute este cmdlet na instância do servidor que hospeda a réplica primária.
Exemplos
Exemplo 1: Modificar um modo de disponibilidade de réplica e failover automático
PS C:\> Set-SqlAvailabilityReplica -AvailabilityMode "SynchronousCommit" -FailoverMode Automatic -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityReplicas\Replica02"
Esse comando modifica a réplica nomeada Replica02
no grupo de disponibilidade denominado MainAG
para usar synchronous-commit
modo de disponibilidade e dar suporte a automatic failover
.
Exemplo 2: Modificar uma réplica para dar suporte ao failover manual forçado
PS C:\> Set-SqlAvailabilityReplica -AvailabilityMode AsynchronousCommit -FailoverMode Manual -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityReplicas\Replica02"
Esse comando modifica a réplica nomeada Replica02
no grupo de disponibilidade denominado MainAG
para usar asynchronous-commit
modo de disponibilidade e dar suporte apenas a forced manual failover
, o que pode incorrer em perda de dados.
Exemplo 3: Permitir todas as conexões na função secundária
PS C:\> Set-SqlAvailabilityReplica -ConnectionModeInSecondaryRole AllowAllConnections -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityReplicas\Replica02"
Esse comando modifica a réplica Replica02
no grupo de disponibilidade MainAG
para permitir todas as conexões na função secundária.
Isso permite descarregar cargas de trabalho de processamento de dados somente leitura para réplicas secundárias.
Exemplo 4: Configurar uma réplica primária e uma réplica secundária para roteamento somente leitura
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
O primeiro comando altera o local para um local no provedor SQLSERVER: .
O quarto comando atribui uma URL de roteamento somente leitura à réplica primária. Em seguida, ele define a lista de roteamento somente leitura na réplica primária.
Exemplo 5: Modificar prioridade de backup
PS C:\> Set-SqlAvailabilityReplica -BackupPriority 60 -Path "SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MainAG\AvailabilityReplicas\Replica02"
Esse comando define a prioridade de backup da réplica de disponibilidade Replica02
como 60
.
Essa prioridade é usada pela instância do servidor que hospeda a réplica primária para decidir qual réplica deve atender a uma solicitação de backup automatizada em um banco de dados no grupo de disponibilidade. A réplica que tem a prioridade mais alta é escolhida.
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 a SQL Azure DB
e SQL Azure Managed Instance
usando 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 objeto PSAccessToken
conforme retornado executando Get-AzAccessToken -ResourceUrl https://database.windows.net
.
Esse parâmetro é novo na v22 do módulo.
Tipo: | PSObject |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-AvailabilityMode
Especifica o modo de disponibilidade da réplica.
Você pode especificar um valor de $Null
.
Tipo: | AvailabilityReplicaAvailabilityMode |
Valores aceitos: | AsynchronousCommit, SynchronousCommit, Unknown, ConfigurationOnly |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | 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.
Um valor zero (0) indica que a réplica não é um candidato.
Tipo: | Int32 |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Confirm
Solicita a confirmação antes de executar o cmdlet.
Tipo: | SwitchParameter |
Aliases: | cf |
Cargo: | Named |
Valor padrão: | False |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | 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.
Tipo: | AvailabilityReplicaConnectionModeInPrimaryRole |
Valores aceitos: | AllowAllConnections, AllowReadWriteConnections, Unknown |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | 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.
Tipo: | AvailabilityReplicaConnectionModeInSecondaryRole |
Valores aceitos: | AllowNoConnections, AllowReadIntentConnectionsOnly, AllowAllConnections, Unknown |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Encrypt
O tipo de criptografia a ser usado ao se conectar ao SQL Server.
Esse valor é mapeado para a propriedade Encrypt
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.
Tipo: | String |
Valores aceitos: | Mandatory, Optional, Strict |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | 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
Tipo: | String |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-FailoverMode
Especifica o modo de failover.
Você pode especificar um valor de $Null
.
Tipo: | AvailabilityReplicaFailoverMode |
Valores aceitos: | Automatic, Manual, External, Unknown |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | 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.
Tipo: | String |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-InputObject
Especifica o grupo de disponibilidade, como um objeto AvailabilityGroup, ao qual a réplica pertence.
Tipo: | AvailabilityReplica |
Cargo: | 1 |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | 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.
Tipo: | String[][] |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | 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.
Tipo: | String |
Cargo: | 1 |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-ProgressAction
Determina como o PowerShell responde às atualizações de progresso geradas por um script, cmdlet ou provedor, como as barras de progresso geradas pelo cmdlet Write-Progress. O cmdlet Write-Progress cria barras de progresso que mostram o status de um comando.
Tipo: | ActionPreference |
Aliases: | proga |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | 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
Tipo: | String |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | 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.
Tipo: | String[] |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Script
Indica que esse cmdlet retorna um script Transact-SQL que executa a tarefa executada por esse cmdlet.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-SeedingMode
Especifica como a réplica secundária será inicialmente propagada.
Valores permitidos:
- Automático. Habilita a propagação direta. Esse método propagará a réplica secundária pela 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 exige que você crie um backup do banco de dados na réplica primária e restaure manualmente esse backup na réplica secundária.
Tipo: | AvailabilityReplicaSeedingMode |
Valores aceitos: | Automatic, Manual |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | 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.
Tipo: | Int32 |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | 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.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-WhatIf
Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.
Tipo: | SwitchParameter |
Aliases: | wi |
Cargo: | Named |
Valor padrão: | False |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
Entradas
Microsoft.SqlServer.Management.Smo.AvailabilityReplica