Set-SqlAvailabilityGroup
Establece la configuración en un grupo de disponibilidad.
Sintaxis
ByPath (Es el valor predeterminado).
Set-SqlAvailabilityGroup
[[-Path] <String>]
[-AutomatedBackupPreference <AvailabilityGroupAutomatedBackupPreference>]
[-FailureConditionLevel <AvailabilityGroupFailureConditionLevel>]
[-HealthCheckTimeout <Int32>]
[-DatabaseHealthTrigger <Boolean>]
[-RequiredSynchronizedSecondariesToCommit <Int32>]
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
ByObject
Set-SqlAvailabilityGroup
[-InputObject] <AvailabilityGroup>
[-AutomatedBackupPreference <AvailabilityGroupAutomatedBackupPreference>]
[-FailureConditionLevel <AvailabilityGroupFailureConditionLevel>]
[-HealthCheckTimeout <Int32>]
[-DatabaseHealthTrigger <Boolean>]
[-RequiredSynchronizedSecondariesToCommit <Int32>]
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
El cmdlet Set-SqlAvailabilityGroup modifica la configuración de un grupo de disponibilidad existente en grupos de disponibilidad AlwaysOn. Puede modificar la preferencia de copia de seguridad automatizada, el nivel de condición de error y el tiempo de espera de comprobación de estado. Debe ejecutar este cmdlet en la instancia del servidor que hospeda la réplica principal.
Ejemplos
Ejemplo 1: Cambiar el período de tiempo de espera de comprobación de estado
PS C:\> Set-SqlAvailabilityGroup -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MAinAG" -HealthCheckTimeout 120000
Este comando cambia la propiedad de tiempo de espera de comprobación de estado del grupo de disponibilidad denominado MainAG120 a segundos o dos minutos.
Si la conmutación automática por error está habilitada, después de este período de tiempo, los grupos de disponibilidad AlwaysOn inician una conmutación automática por error.
Ejemplo 2: Cambiar la preferencia de copia de seguridad automatizada
PS C:\> Set-SqlAvailabilityGroup -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG" -AutomatedBackupPreference SecondaryOnly
Este comando cambia la preferencia de copia de seguridad automatizada en el grupo de disponibilidad denominado MainAG como SecondaryOnly.
Las copias de seguridad automatizadas de bases de datos de este grupo de disponibilidad no se producen en la réplica principal.
En su lugar, las copias de seguridad automatizadas se producen en la réplica secundaria que tiene la prioridad de copia de seguridad más alta.
Ejemplo 3: Cambiar el nivel de condición de error
PS C:\> Set-SqlAvailabilityGroup -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG" -FailureConditionLevel OnServerDown
Este comando cambia el nivel de condición de error en el grupo de disponibilidad denominado MainAG como OnServerDown.
Si la instancia del servidor que hospeda la réplica principal se queda sin conexión y si está habilitada la conmutación automática por error, los grupos de disponibilidad AlwaysOn inician una conmutación automática por error.
Ejemplo 4: Cambiar el número de secundarias de "SYNCHRONOUS_COMMIT" que deben estar disponibles para que las transacciones se confirmen en la principal
# 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
El token de acceso que se usa para autenticarse en SQL Server, como alternativa a la autenticación de usuario o contraseña de Windows.
Esto se puede usar, por ejemplo, para conectarse a SQL Azure DB y SQL Azure Managed Instance usar o Service Principal .Managed Identity
El parámetro que se va a usar puede ser una cadena que representa el token o un PSAccessToken objeto tal como se devuelve mediante la ejecución Get-AzAccessToken -ResourceUrl https://database.windows.netde .
Este parámetro es nuevo en la versión 22 del módulo.
Propiedades del parámetro
| Tipo: | PSObject |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Mandatory: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-AutomatedBackupPreference
Especifica la preferencia de copia de seguridad automatizada para el grupo de disponibilidad. Los valores aceptables para este parámetro son:
- Primario. Especifica que las copias de seguridad siempre se producen en la réplica principal. Esta opción admite el uso de características que no están disponibles cuando la copia de seguridad se ejecuta en una réplica secundaria, como copias de seguridad diferenciales.
- SecondaryOnly. Especifica que las copias de seguridad nunca se realizan en las réplicas principales. Si la réplica principal es la única réplica en línea, no se produce la copia de seguridad.
- Secundario. Especifica que las copias de seguridad se producen en réplicas secundarias, a menos que la réplica principal sea la única réplica en línea. A continuación, la copia de seguridad se produce en la réplica principal.
- Ninguno. Especifica que el estado principal o secundario no se tiene en cuenta al decidir qué réplica realiza copias de seguridad. En su lugar, la prioridad de copia de seguridad y el estado en línea determinan qué réplica realiza las copias de seguridad.
Propiedades del parámetro
| Tipo: | AvailabilityGroupAutomatedBackupPreference |
| Valor predeterminado: | None |
| Valores aceptados: | Primary, SecondaryOnly, Secondary, None, Unknown |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Mandatory: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-Confirm
Le pide confirmación antes de ejecutar el cmdlet.
Propiedades del parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | False |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | cf |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Mandatory: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-DatabaseHealthTrigger
Especifica si se debe desencadenar una conmutación automática por error del grupo de disponibilidad si alguna réplica de base de datos de usuario dentro de un grupo de disponibilidad encuentra una condición de error de base de datos.
Propiedades del parámetro
| Tipo: | Boolean |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Mandatory: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-Encrypt
Tipo de cifrado que se va a usar al conectarse a SQL Server.
Este valor se asigna a la Encrypt propiedad SqlConnectionEncryptOption del objeto SqlConnection del controlador Microsoft.Data.SqlClient.
En la versión 22 del módulo, el valor predeterminado es Optional (por compatibilidad con v21). En la versión 23+ del módulo, el valor predeterminado será "Obligatorio", que puede crear un cambio importante para los scripts existentes.
Este parámetro es nuevo en la versión 22 del módulo.
Propiedades del parámetro
| Tipo: | String |
| Valor predeterminado: | None |
| Valores aceptados: | Mandatory, Optional, Strict |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Mandatory: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-FailureConditionLevel
Especifica el comportamiento de conmutación automática por error del grupo de disponibilidad. Los valores aceptables para este parámetro son:
- OnServerDown. Conmutación por error o reinicio si el servicio SQL Server se detiene.
- OnServerUnresponsive. Conmutación por error o reinicio si se cumple alguna condición de valor inferior, además de cuando el servicio SQL Server está conectado al clúster y se supera el umbral HealthCheckTimeout , o si la réplica de disponibilidad actualmente en el rol principal está en estado de error.
- OnCriticalServerError. Conmutación por error o reinicio si se cumple alguna condición de valor inferior, además de cuando se produce un error de servidor crítico interno, que incluye una condición de memoria insuficiente, una infracción grave de acceso de escritura o demasiado volcado.
- OnModerateServerError. Conmutación por error o reinicio si se cumple alguna condición de valor inferior, además de si se produce un error moderado del servidor,wich incluye la condición persistente de memoria insuficiente.
- OnAnyQualifiedFailureConditions. Conmutación por error o reinicio si se cumple alguna condición de valor inferior, además de si se produce una condición de error apta, que incluye el agotamiento de subprocesos de trabajo del motor y el interbloqueo irrecuperable detectado.
Propiedades del parámetro
| Tipo: | AvailabilityGroupFailureConditionLevel |
| Valor predeterminado: | None |
| Valores aceptados: | OnServerDown, OnServerUnresponsive, OnCriticalServerErrors, OnModerateServerErrors, OnAnyQualifiedFailureCondition, Unknown |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Mandatory: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-HealthCheckTimeout
Especifica el período de tiempo, en milisegundos, después del cual los grupos de disponibilidad AlwaysOn declaran un servidor que no responde para que sea incorrecto.
Propiedades del parámetro
| Tipo: | Int32 |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Mandatory: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-HostNameInCertificate
Nombre de host que se va a usar al validar el certificado TLS/SSL de SQL Server. Debe pasar este parámetro si la instancia de SQL Server está habilitada para Forzar cifrado y desea conectarse a una instancia mediante el nombre de host o el nombre corto. Si se omite este parámetro, es necesario pasar el nombre de dominio completo (FQDN) a -ServerInstance es necesario para conectarse a una instancia de SQL Server habilitada para Forzar cifrado.
Este parámetro es nuevo en la versión 22 del módulo.
Propiedades del parámetro
| Tipo: | String |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Mandatory: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-InputObject
Especifica el grupo de disponibilidad, como un objeto AvailabilityGroup, que este cmdlet modifica.
Propiedades del parámetro
| Tipo: | AvailabilityGroup |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
ByObject
| Posición: | 1 |
| Mandatory: | True |
| Valor de la canalización: | True |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-Path
Especifica la ruta de acceso de la base de datos de disponibilidad que modifica el cmdlet. Si no especifica este parámetro, este cmdlet usa la ubicación de trabajo actual.
Propiedades del parámetro
| Tipo: | String |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
ByPath
| Posición: | 1 |
| Mandatory: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-RequiredSynchronizedSecondariesToCommit
Número de secundarias de confirmación sincrónicas que deben estar disponibles para poder confirmar en la principal.
Si una SYNCHRONOUS_COMMIT base de datos secundaria está desconectada de la principal durante algún tiempo, la principal la desvía para ASYNCHRONOUS_COMMIT evitar que se bloqueen las confirmaciones. Si la principal deja de estar disponible y el usuario desea conmutar por error a una de estas secundarias, es posible que se produzca una pérdida de datos. Al establecer RequiredSynchronizedSecondariesToCommit en algún número, el usuario puede evitar la pérdida de datos, ya que la principal comenzará a bloquear confirmaciones si se degradan demasiados secundarios a ASYNCHRONOUS_COMMIT.
El valor predeterminado de esta configuración es 0, lo que significa que la principal nunca bloqueará las confirmaciones. Esto es idéntico al comportamiento anterior a SQL Server 2017.
Propiedades del parámetro
| Tipo: | Int32 |
| Valor predeterminado: | 0 |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Mandatory: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-Script
Indica que este cmdlet devuelve un script de Transact-SQL que realiza la tarea que realiza este cmdlet.
Propiedades del parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Mandatory: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-TrustServerCertificate
Indica si el canal se cifrará mientras se pasa la cadena de certificados para validar la confianza.
En la versión 22 del módulo, el valor predeterminado es $true (por compatibilidad con v21). En la versión 23+ del módulo, el valor predeterminado será "$false", que puede crear un cambio importante para los scripts existentes.
Este parámetro es nuevo en la versión 22 del módulo.
Propiedades del parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Mandatory: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-WhatIf
Muestra lo que sucedería si el cmdlet se ejecuta. El cmdlet no se ejecuta.
Propiedades del parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | False |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | Wi |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Mandatory: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
CommonParameters
Este cmdlet admite los parámetros comunes: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction y -WarningVariable. Para obtener más información, vea about_CommonParameters.