New-SqlAvailabilityReplica
Crea una réplica de disponibilidad.
Sintaxis
New-SqlAvailabilityReplica
-AvailabilityMode <AvailabilityReplicaAvailabilityMode>
-FailoverMode <AvailabilityReplicaFailoverMode>
-EndpointUrl <String>
[-SessionTimeout <Int32>]
[-ConnectionModeInPrimaryRole <AvailabilityReplicaConnectionModeInPrimaryRole>]
[-ConnectionModeInSecondaryRole <AvailabilityReplicaConnectionModeInSecondaryRole>]
[-BackupPriority <Int32>]
[-ReadOnlyRoutingList <String[]>]
[-ReadonlyRoutingConnectionUrl <String>]
[-SeedingMode <AvailabilityReplicaSeedingMode>]
[-LoadBalancedReadOnlyRoutingList <String[][]>]
[-Name] <String>
[[-Path] <String>]
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-ProgressAction <ActionPreference>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-SqlAvailabilityReplica
-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>]
[-Name] <String>
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-ProgressAction <ActionPreference>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-SqlAvailabilityReplica
-AvailabilityMode <AvailabilityReplicaAvailabilityMode>
-FailoverMode <AvailabilityReplicaFailoverMode>
-EndpointUrl <String>
[-SessionTimeout <Int32>]
[-ConnectionModeInPrimaryRole <AvailabilityReplicaConnectionModeInPrimaryRole>]
[-ConnectionModeInSecondaryRole <AvailabilityReplicaConnectionModeInSecondaryRole>]
[-BackupPriority <Int32>]
[-ReadOnlyRoutingList <String[]>]
[-ReadonlyRoutingConnectionUrl <String>]
[-SeedingMode <AvailabilityReplicaSeedingMode>]
[-LoadBalancedReadOnlyRoutingList <String[][]>]
[-Name] <String>
[-InputObject] <AvailabilityGroup>
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-ProgressAction <ActionPreference>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
El cmdlet New-SqlAvailabilityReplica crea una réplica de disponibilidad. Ejecute este cmdlet en la instancia de SQL Server que hospeda la réplica principal.
Para crear una réplica de disponibilidad antes de crear un grupo de disponibilidad, especifique el parámetro
Ejemplos
Ejemplo 1: Crea una representación de una réplica de disponibilidad
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
En este ejemplo se crea una representación en memoria de una réplica de disponibilidad. No se confirman cambios en el servidor. Puede usar esta réplica como valor para el parámetro AvailabilityReplica de New-SqlAvailabilityGroup
El primer comando obtiene una instancia del servidor principal.
El segundo comando crea la réplica de disponibilidad. Esta réplica usa el punto de conexión de creación de reflejo de la base de datos ubicado en la dirección URL especificada para comunicarse con otras réplicas del grupo de disponibilidad. Esta réplica admite la conmutación automática por error y el modo de disponibilidad de confirmación sincrónica. El parámetro Version especifica la versión de la instancia del servidor que hospedará esta nueva réplica.
Ejemplo 2: Crea una réplica de disponibilidad que admite la conmutación por error manual y la confirmación asincrónica
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
En este ejemplo se crea una representación en memoria de una réplica de disponibilidad. No se confirman cambios en el servidor.
El primer comando obtiene una instancia del servidor principal.
El segundo comando crea la réplica de disponibilidad. Esta réplica usa el punto de conexión de creación de reflejo de la base de datos ubicado en la dirección URL especificada para comunicarse con otras réplicas del grupo de disponibilidad. Esta réplica admite la conmutación por error manual y el modo de disponibilidad de confirmación asincrónica. El parámetro Version especifica la versión de la instancia del servidor que hospedará esta nueva réplica.
Ejemplo 3: Adición de una réplica de disponibilidad a un grupo de disponibilidad
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"
Este comando agrega una réplica de disponibilidad a un grupo de disponibilidad existente denominado "MainAG". Esta réplica admite la conmutación por error manual y el modo de disponibilidad de confirmación asincrónica. En el rol secundario, esta réplica admite conexiones de acceso de lectura. Esta configuración le permite descargar el procesamiento de solo lectura en esta réplica.
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
mediante un Service Principal
o un Managed Identity
.
El parámetro que se va a usar puede ser una cadena que representa el token o un objeto PSAccessToken
tal como se devuelve mediante la ejecución de Get-AzAccessToken -ResourceUrl https://database.windows.net
.
Este parámetro es nuevo en la versión 22 del módulo.
Tipo: | PSObject |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-AsTemplate
Indica que este cmdlet crea un objeto AvailabilityReplica temporal en memoria. Especifique este parámetro para crear un grupo de disponibilidad antes de crear una réplica de disponibilidad. Cree un grupo de disponibilidad mediante el cmdlet New-SqlAvailabilityGroup . Especifique la réplica de disponibilidad temporal como valor del parámetro AvailabilityReplica.
Si especifica
Si especifica este parámetro, también debe especificar una versión de SQL Server para el parámetro Version o la sesión actual debe tener una conexión activa a una instancia de .
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-AvailabilityMode
Especifica el modo de disponibilidad de réplica.
Puede especificar un valor de $Null.
Tipo: | AvailabilityReplicaAvailabilityMode |
Valores aceptados: | AsynchronousCommit, SynchronousCommit, Unknown, ConfigurationOnly |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | 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.
Tipo: | Int32 |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Confirm
Le pide confirmación antes de ejecutar el cmdlet.
Tipo: | SwitchParameter |
Alias: | cf |
Posición: | Named |
Valor predeterminado: | False |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | 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
Tipo: | AvailabilityReplicaConnectionModeInPrimaryRole |
Valores aceptados: | AllowAllConnections, AllowReadWriteConnections, Unknown |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | 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 permitir conexiones
- AllowReadIntentConnectionsOnly. Solo permite conexiones de intención de lectura
- AllowAllConnections. Permite todas las conexiones
Tipo: | AvailabilityReplicaConnectionModeInSecondaryRole |
Valores aceptados: | AllowNoConnections, AllowReadIntentConnectionsOnly, AllowAllConnections, Unknown |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Encrypt
Tipo de cifrado que se va a usar al conectarse a SQL Server.
Este valor se asigna a la propiedad Encrypt
SqlConnectionEncryptOption
en el 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.
Tipo: | String |
Valores aceptados: | Mandatory, Optional, Strict |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | 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
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-FailoverMode
Especifica el modo de conmutación por error.
Puede especificar un valor de $Null
Tipo: | AvailabilityReplicaFailoverMode |
Valores aceptados: | Automatic, Manual, External, Unknown |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-HostNameInCertificate
Nombre de host que se va a usar para 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.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-InputObject
Especifica el grupo de disponibilidad, como un objeto AvailabilityGroup, al que pertenece la réplica.
Tipo: | AvailabilityGroup |
Posición: | 2 |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | 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.
Tipo: | String[][] |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Name
Especifica un nombre para la réplica de disponibilidad en el formato siguiente: Equipo\Instancia
Tipo: | String |
Posición: | 1 |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | 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.
Tipo: | String |
Posición: | 2 |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-ProgressAction
Determina cómo Responde PowerShell a las actualizaciones de progreso generadas por un script, cmdlet o proveedor, como las barras de progreso generadas por el cmdlet Write-Progress. El cmdlet Write-Progress crea barras de progreso que muestran el estado de un comando.
Tipo: | ActionPreference |
Alias: | proga |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-ReadonlyRoutingConnectionUrl
Especifica el nombre de dominio completo (FQDN) y el puerto que se usarán al enrutar a la réplica para conexiones de solo lectura, como en el ejemplo siguiente: TCP://DBSERVER8.manufacturing.Contoso.com:7024
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | 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.
Tipo: | String[] |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Script
Indica que este cmdlet devuelve un script de Transact-SQL que realiza la tarea que realiza este cmdlet.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-SeedingMode
Especifica cómo se inicializará inicialmente la réplica secundaria.
Valores permitidos:
- Automático. Habilita la propagación directa. Este método inicializará 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 que cree una copia de seguridad de la base de datos en la réplica principal y restaure manualmente esa copia de seguridad en la réplica secundaria.
Tipo: | AvailabilityReplicaSeedingMode |
Valores aceptados: | Automatic, Manual |
Posición: | Named |
Valor predeterminado: | Manual |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | 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.
Tipo: | Int32 |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | 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.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Version
Especifica una versión de SQL Server. Si especifica el parámetro AsTemplate, debe especificar una versión. El objeto de plantilla se crea en modo de diseño en un servidor que incluye esta versión. Puede especificar un entero o una cadena, como en los ejemplos siguientes (SQL Server 2017):
- 14
- '14.0.0'
Tipo: | ServerVersion |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-WhatIf
Muestra lo que sucedería si el cmdlet se ejecuta. El cmdlet no se ejecuta.
Tipo: | SwitchParameter |
Alias: | wi |
Posición: | Named |
Valor predeterminado: | False |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
Entradas
Microsoft.SqlServer.Management.Smo.AvailabilityGroup
Puede pasar un grupo de disponibilidad a este cmdlet.
Salidas
Microsoft.SqlServer.Management.Smo.AvailabilityReplica
Este cmdlet devuelve una réplica de disponibilidad.