Set-SqlAvailabilityGroup
Define as configurações em um grupo de disponibilidade.
Syntax
Set-SqlAvailabilityGroup
[-AutomatedBackupPreference <AvailabilityGroupAutomatedBackupPreference>]
[-FailureConditionLevel <AvailabilityGroupFailureConditionLevel>]
[-HealthCheckTimeout <Int32>]
[-DatabaseHealthTrigger <Boolean>]
[-RequiredSynchronizedSecondariesToCommit <Int32>]
[[-Path] <String>]
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-SqlAvailabilityGroup
[-AutomatedBackupPreference <AvailabilityGroupAutomatedBackupPreference>]
[-FailureConditionLevel <AvailabilityGroupFailureConditionLevel>]
[-HealthCheckTimeout <Int32>]
[-DatabaseHealthTrigger <Boolean>]
[-RequiredSynchronizedSecondariesToCommit <Int32>]
[-InputObject] <AvailabilityGroup>
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
O cmdlet Set-SqlAvailabilityGroup modifica as configurações em um grupo de disponibilidade existente em grupos de disponibilidade Always On. Você pode modificar a preferência de backup automatizado, o nível de condição de falha e a integridade marcar tempo limite. Você deve executar esse cmdlet na instância do servidor que hospeda o réplica primário.
Exemplos
Exemplo 1: alterar a integridade marcar período de tempo limite
PS C:\> Set-SqlAvailabilityGroup -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MAinAG" -HealthCheckTimeout 120000
Esse comando altera a integridade marcar propriedade de tempo limite no grupo de disponibilidade nomeado MainAG
para 120
segundos ou dois minutos.
Se o failover automático estiver habilitado, após esse período de tempo, Always On Grupos de Disponibilidade iniciar um failover automático será iniciado.
Exemplo 2: alterar a preferência de backup automatizado
PS C:\> Set-SqlAvailabilityGroup -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG" -AutomatedBackupPreference SecondaryOnly
Esse comando altera a preferência de backup automatizado no grupo de disponibilidade chamado MainAG
como SecondaryOnly
.
Backups automatizados de bancos de dados neste grupo de disponibilidade não ocorrem no réplica primário.
Em vez disso, os backups automatizados ocorrem no réplica secundário que tem a prioridade de backup mais alta.
Exemplo 3: alterar o nível de condição de falha
PS C:\> Set-SqlAvailabilityGroup -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG" -FailureConditionLevel OnServerDown
Esse comando altera o nível de condição de falha no grupo de disponibilidade chamado MainAG
como OnServerDown
.
Se a instância do servidor que hospeda o réplica primário ficar offline e se o failover automático estiver habilitado, Always On Grupos de Disponibilidade iniciará um failover automático.
Exemplo 4: alterar o número de secundários 'SYNCHRONOUS_COMMIT' que devem estar disponíveis para as transações confirmarem no primário
# Get server and AG
PS C:\> CD 'SQLSERVER:\SQL\some-hostname\Default'
PS SQLSERVER:\SQL\some-hostname\Default> $server = Get-Item $PWD
PS SQLSERVER:\SQL\some-hostname\Default> $ag = $server.AvailabilityGroups[0]
# Alter AG with RequiredCopiesToCommit = 4
PS SQLSERVER:\SQL\some-hostname\Default> $ag | Set-SqlAvailabilityGroup -RequiredSynchronizedSecondariesToCommit 4
Note: an exception will be thrown if the -RequiredSynchronizedSecondariesToCommit parameter is used when
the target server version is SQL Server 2016 or lower.
Parâmetros
-AccessToken
O token de acesso usado para autenticar para 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.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AutomatedBackupPreference
Especifica a preferência de backup automatizado para o grupo de disponibilidade. Os valores aceitáveis para esse parâmetro são:
- Primária. Especifica que os backups sempre ocorrem no réplica primário. Essa opção dá suporte ao uso de recursos não disponíveis quando o backup é executado em um réplica secundário, como backups diferenciais.
- SecondaryOnly. Especifica que os backups nunca são executados em réplicas primárias. Se o réplica primário for o único réplica online, o backup não ocorrerá.
- Secundário. Especifica que os backups ocorrem em réplicas secundárias, a menos que o réplica primário seja o único réplica online. Em seguida, o backup ocorre na réplica primária.
- Nenhum. Especifica que o status primário ou secundário não é levado em conta ao decidir qual réplica executa backups. Em vez disso, a prioridade de backup e os status online determinam qual réplica executa backups.
Type: | AvailabilityGroupAutomatedBackupPreference |
Accepted values: | Primary, SecondaryOnly, Secondary, None, Unknown |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
Solicita sua confirmação antes de executar o cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DatabaseHealthTrigger
Especifica se um failover automático do grupo de disponibilidade deve ser disparado se algum banco de dados de usuário réplica dentro de um grupo de disponibilidade encontrar uma condição de falha de banco de dados.
Type: | Boolean |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Encrypt
O tipo de criptografia a ser usado ao se conectar a 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 interruptiva para scripts existentes.
Esse parâmetro é novo na v22 do módulo.
Type: | String |
Accepted values: | Mandatory, Optional, Strict |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FailureConditionLevel
Especifica o comportamento de failover automático do grupo de disponibilidade. Os valores aceitáveis para esse parâmetro são:
- OnServerDown. Faça failover ou reinicie se o serviço SQL Server for interrompido.
- OnServerUnresponsive. Failover ou reinicialização se qualquer condição de valor inferior for atendida, além de quando o serviço SQL Server estiver conectado ao cluster e o limite HealthCheckTimeout for excedido ou se a disponibilidade réplica atualmente na função primária estiver em um estado de falha.
- OnCriticalServerError. Failover ou reinicialização se qualquer condição de valor inferior for atendida, além de quando ocorrer um erro de servidor crítico interno, que incluem condição de memória insuficiente, violação grave de acesso de gravação ou muito despejo.
- OnModerateServerError. Failover ou reinicialização se qualquer condição de valor inferior for atendida, além de ocorrer um erro moderado do Servidor, o que inclui condição persistente de memória insuficiente.
- OnAnyQualifiedFailureConditions. Failover ou reinicialização se qualquer condição de valor inferior for atendida, além de ocorrer uma condição de falha qualificada, que inclui esgotamento de thread de trabalho do mecanismo e deadlock não solucionado detectado.
Type: | AvailabilityGroupFailureConditionLevel |
Accepted values: | OnServerDown, OnServerUnresponsive, OnCriticalServerErrors, OnModerateServerErrors, OnAnyQualifiedFailureCondition, Unknown |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-HealthCheckTimeout
Especifica o período de tempo, em milissegundos, após o qual Always On Grupos de Disponibilidade declara um servidor sem resposta como não íntegro.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 sua instância de 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 de SQL Server habilitada para o Force Encryption.
Esse parâmetro é novo na v22 do módulo.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Especifica o grupo de disponibilidade, como um objeto AvailabilityGroup, que esse cmdlet modifica.
Type: | AvailabilityGroup |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Path
Especifica o caminho do banco de dados de disponibilidade que o cmdlet modifica. Se você não especificar esse parâmetro, esse cmdlet usará o local de trabalho atual.
Type: | String |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RequiredSynchronizedSecondariesToCommit
O número de secundários de confirmação síncrona que devem estar disponíveis para serem confirmados no primário.
Se um SYNCHRONOUS_COMMIT
secundário for desconectado do primário por algum tempo, o primário o rebaixará para ASYNCHRONOUS_COMMIT
evitar o bloqueio de commits. Se o primário ficar indisponível e o usuário desejar fazer failover para um desses secundários, ele poderá incorrer em perda de dados. Ao definir RequiredSynchronizedSecondariesToCommit como algum número, o usuário poderá evitar a perda de dados, pois o primário começará a bloquear commits se muitos secundários forem rebaixados para ASYNCHRONOUS_COMMIT
.
O valor padrão dessa configuração é 0, o que significa que o primário nunca bloqueará commits. Isso é idêntico ao comportamento antes de SQL Server 2017.
Type: | Int32 |
Position: | Named |
Default value: | 0 |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Script
Indica que esse cmdlet retorna um script Transact-SQL que executa a tarefa que esse cmdlet executa.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 interruptiva para scripts existentes.
Esse parâmetro é novo na v22 do módulo.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Entradas
Microsoft.SqlServer.Management.Smo.AvailabilityGroup