Set-SqlAvailabilityReplica
Establece la configuración en una réplica de disponibilidad.
Sintaxis
ByPath (Es el valor predeterminado).
Set-SqlAvailabilityReplica
[[-Path] <String>]
[-AvailabilityMode <AvailabilityReplicaAvailabilityMode>]
[-FailoverMode <AvailabilityReplicaFailoverMode>]
[-EndpointUrl <String>]
[-SessionTimeout <Int32>]
[-ConnectionModeInPrimaryRole <AvailabilityReplicaConnectionModeInPrimaryRole>]
[-ConnectionModeInSecondaryRole <AvailabilityReplicaConnectionModeInSecondaryRole>]
[-SeedingMode <AvailabilityReplicaSeedingMode>]
[-BackupPriority <Int32>]
[-ReadOnlyRoutingList <String[]>]
[-ReadonlyRoutingConnectionUrl <String>]
[-LoadBalancedReadOnlyRoutingList <String[][]>]
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
ByObject
Set-SqlAvailabilityReplica
[-InputObject] <AvailabilityReplica>
[-AvailabilityMode <AvailabilityReplicaAvailabilityMode>]
[-FailoverMode <AvailabilityReplicaFailoverMode>]
[-EndpointUrl <String>]
[-SessionTimeout <Int32>]
[-ConnectionModeInPrimaryRole <AvailabilityReplicaConnectionModeInPrimaryRole>]
[-ConnectionModeInSecondaryRole <AvailabilityReplicaConnectionModeInSecondaryRole>]
[-SeedingMode <AvailabilityReplicaSeedingMode>]
[-BackupPriority <Int32>]
[-ReadOnlyRoutingList <String[]>]
[-ReadonlyRoutingConnectionUrl <String>]
[-LoadBalancedReadOnlyRoutingList <String[][]>]
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
El cmdlet Set-SqlAvailabilityReplica establece o modifica una variedad de propiedades para una réplica de disponibilidad. Ejecute este cmdlet en la instancia del servidor que hospeda la réplica principal.
Ejemplos
Ejemplo 1: Modificación de un modo de disponibilidad de réplica y conmutación automática por error
PS C:\> Set-SqlAvailabilityReplica -AvailabilityMode "SynchronousCommit" -FailoverMode Automatic -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityReplicas\Replica02"
Este comando modifica la réplica denominada Replica02 en el grupo de disponibilidad denominado MainAG para usar synchronous-commit el modo de disponibilidad y para admitir automatic failover.
Ejemplo 2: Modificación de una réplica para admitir la conmutación por error manual forzada
PS C:\> Set-SqlAvailabilityReplica -AvailabilityMode AsynchronousCommit -FailoverMode Manual -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityReplicas\Replica02"
Este comando modifica la réplica denominada Replica02 en el grupo de disponibilidad denominado MainAG para usar asynchronous-commit el modo de disponibilidad y para admitir solo forced manual failover, lo que podría incurrir en pérdida de datos.
Ejemplo 3: Permitir todas las conexiones en el rol secundario
PS C:\> Set-SqlAvailabilityReplica -ConnectionModeInSecondaryRole AllowAllConnections -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityReplicas\Replica02"
Este comando modifica la réplica Replica02 del grupo MainAG de disponibilidad para permitir todas las conexiones del rol secundario.
Esto le permite descargar cargas de trabajo de procesamiento de datos de solo lectura en réplicas secundarias.
Ejemplo 4: Configuración de una réplica principal y una réplica secundaria para el enrutamiento de solo lectura
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
El primer comando cambia la ubicación a una ubicación del proveedor SQLSERVER: .
El cuarto comando asigna una dirección URL de enrutamiento de solo lectura a la réplica principal. Después, establece la lista de enrutamiento de solo lectura en la réplica principal.
Ejemplo 5: Modificación de la prioridad de copia de seguridad
PS C:\> Set-SqlAvailabilityReplica -BackupPriority 60 -Path "SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MainAG\AvailabilityReplicas\Replica02"
Este comando establece la prioridad de copia de seguridad de la réplica Replica02 de disponibilidad en 60.
Esta prioridad la usa la instancia del servidor que hospeda la réplica principal para decidir qué réplica debe atender una solicitud de copia de seguridad automatizada en una base de datos del grupo de disponibilidad. Se elige la réplica que tiene la prioridad más alta.
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 |
-AvailabilityMode
Especifica el modo de disponibilidad de réplica.
Puede especificar un valor de $Null.
Propiedades del parámetro
| Tipo: | AvailabilityReplicaAvailabilityMode |
| Valor predeterminado: | None |
| Valores aceptados: | AsynchronousCommit, SynchronousCommit, Unknown, ConfigurationOnly |
| 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 |
-BackupPriority
Especifica la prioridad deseada de las réplicas en la realización de copias de seguridad. Los valores aceptables para este parámetro son enteros de 0 a 100. Del conjunto de réplicas que están en línea y disponibles, la réplica que tiene la prioridad más alta realiza la copia de seguridad.
Un valor de cero (0) indica que la réplica no es candidata.
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 |
-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 |
-ConnectionModeInPrimaryRole
Especifica cómo controla la réplica de disponibilidad las conexiones cuando se encuentra en el rol principal. Los valores aceptables para este parámetro son:
- AllowReadWriteConnections. Permite conexiones de lectura y escritura.
- AllowAllConnections. Permite todas las conexiones.
Propiedades del parámetro
| Tipo: | AvailabilityReplicaConnectionModeInPrimaryRole |
| Valor predeterminado: | None |
| Valores aceptados: | AllowAllConnections, AllowReadWriteConnections, 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 |
-ConnectionModeInSecondaryRole
Especifica cómo controla la réplica de disponibilidad las conexiones cuando se encuentra en el rol secundario. Los valores aceptables para este parámetro son:
- AllowNoConnections. No permite conexiones.
- AllowReadIntentConnectionsOnly. Solo permite conexiones de intención de lectura.
- AllowAllConnections. Permite todas las conexiones.
Propiedades del parámetro
| Tipo: | AvailabilityReplicaConnectionModeInSecondaryRole |
| Valor predeterminado: | None |
| Valores aceptados: | AllowNoConnections, AllowReadIntentConnectionsOnly, AllowAllConnections, 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 |
-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 |
-EndpointUrl
Especifica la dirección URL del punto de conexión de creación de reflejo de la base de datos.
Esta dirección URL es una dirección TCP con el formato siguiente: TCP://system-address:port
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 |
-FailoverMode
Especifica el modo de conmutación por error.
Puede especificar un valor de $Null.
Propiedades del parámetro
| Tipo: | AvailabilityReplicaFailoverMode |
| Valor predeterminado: | None |
| Valores aceptados: | Automatic, Manual, External, 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 |
-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, al que pertenece la réplica.
Propiedades del parámetro
| Tipo: | AvailabilityReplica |
| 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 |
-LoadBalancedReadOnlyRoutingList
Especifica la lista de enrutamiento de solo lectura con equilibrio de carga.
La lista de enrutamiento es una lista de conjuntos con equilibrio de carga, que a su vez son listas de réplicas.
Por ejemplo, pasar un valor como
@('Server1','Server2'),@('Server3'),@('Server4')
significa lo que estamos pasando 3 conjuntos de carga equilibrada: 1 con 2 réplicas (Server1 y Server2) y 2 con solo uno (Server3 y Server4, respectivamente).
En tiempo de ejecución, SQL Server examinará secuencialmente todos los conjuntos con equilibrio de carga hasta que encuentre uno de modo que al menos en la réplica en él esté disponible y lo use para el equilibrio de carga.
Por lo tanto, en el ejemplo anterior, si Server1 y Server2 no están disponibles, pero Server3 es, SQL Server elegirá Server3.
Este cmdlet solo establece la lista de enrutamiento de solo lectura y no comprueba la disponibilidad de las réplicas especificadas.
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 |
-Path
Especifica la ruta de acceso del grupo de disponibilidad al que pertenece la réplica. 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 |
-ReadonlyRoutingConnectionUrl
Especifica el nombre de dominio completo (FQDN) y el puerto que se usarán al enrutar a la réplica para las conexiones de solo lectura, como en el ejemplo siguiente: TCP://DBSERVER8.manufacturing.Contoso.com:7024
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 |
-ReadOnlyRoutingList
Especifica una lista ordenada de nombres de servidor de réplica que representan la secuencia de sondeo para que el director de conexión use al redirigir las conexiones de solo lectura a través de esta réplica de disponibilidad. Este parámetro se aplica si la réplica de disponibilidad es la réplica principal actual del grupo de disponibilidad.
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 |
-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 |
-SeedingMode
Especifica cómo se propagará inicialmente la réplica secundaria.
Valores permitidos:
- Automático. Habilita la propagación directa. Este método propagará la réplica secundaria a través de la red. Este método no requiere que realice una copia de seguridad y restaure una copia de la base de datos principal en la réplica.
- Manual. Especifica la propagación manual. Este método requiere la creación de una copia de seguridad de la base de datos en la réplica principal y su restauración manual en la réplica secundaria.
Propiedades del parámetro
| Tipo: | AvailabilityReplicaSeedingMode |
| Valor predeterminado: | None |
| Valores aceptados: | Automatic, Manual |
| 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 |
-SessionTimeout
Especifica la cantidad de tiempo, en segundos, para esperar una respuesta entre la réplica principal y esta réplica antes de que se produzca un error en la conexión.
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 |
-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.