Crear un grupo de disponibilidad (SQL Server PowerShell)
En este tema se describe cómo usar los cmdlets de PowerShell para crear y configurar un grupo de disponibilidad de AlwaysOn mediante PowerShell en SQL Server 2012. Un grupo de disponibilidad define un conjunto de bases de datos de usuario que realizarán la conmutación por error como una sola unidad y un conjunto de asociados de conmutación por error, conocido como réplicas de disponibilidad, que admiten la conmutación por error.
[!NOTA]
Para obtener una introducción a los grupos de disponibilidad, vea Información general de los grupos de disponibilidad AlwaysOn (SQL Server).
Antes de empezar:
Requisitos previos, restricciones y recomendaciones
Seguridad
Resumen de tareas y cmdlets de PowerShell correspondientes
Para configurar y usar el proveedor de SQL Server PowerShell
Para crear y configurar un grupo disponibilidad, use: Usar PowerShell para crear y configurar un grupo de disponibilidad
**Ejemplos: ** Usar PowerShell para crear un grupo de disponibilidad
Tareas relacionadas
Contenido relacionado
[!NOTA]
Como alternativa al uso de cmdlets de PowerShell, puede usar el asistente Crear grupo de disponibilidad o Transact-SQL. Para obtener más información, vea Usar el cuadro de diálogo Nuevo grupo de disponibilidad (SQL Server Management Studio) o Crear un grupo de disponibilidad (Transact-SQL).
Antes de empezar
Se recomienda encarecidamente leer esta sección antes de intentar crear el primer grupo de disponibilidad.
Requisitos previos, restricciones y recomendaciones
- Antes de crear un grupo de disponibilidad, compruebe que cada una de las instancias host de SQL Server reside en un nodo de clúster de conmutación por error de Windows Server (WSFC) diferente en el mismo clúster de conmutación por error de WSFC. Además, compruebe que las instancias del servidor cumplen con los otros requisitos previos de la instancia del servidor, que se cumplen todos los demás requisitos de Grupos de disponibilidad AlwaysOn y que es consciente de las recomendaciones. Para obtener más información, le recomendamos encarecidamente que consulte Requisitos previos, restricciones y recomendaciones para Grupos de disponibilidad AlwaysOn (SQL Server).
[Top]
Seguridad
Permisos
Se requiere la pertenencia al rol fijo de servidor sysadmin y el permiso de servidor CREATE AVAILABILITY GROUP, el permiso ALTER ANY AVAILABILITY GROUP o el permiso CONTROL SERVER.
[Top]
Resumen de tareas y cmdlets de PowerShell correspondientes
En la siguiente tabla se enumeran las tareas básicas relacionadas con la configuración de un grupo de disponibilidad y se indican las que son compatibles con cmdlets de PowerShell. Las tareas de Grupos de disponibilidad AlwaysOn se deben realizar en la secuencia en que se muestran en la tabla.
Tarea |
Cmdlets de PowerShell (si hay disponibles) o instrucción Transact-SQL |
Dónde realizar la tarea* |
---|---|---|
Crear extremo de creación de reflejo de la base de datos (una vez por instancia de SQL Server) |
New-SqlHadrEndPoint |
Se ejecuta en cada instancia del servidor que carece de extremo de creación de reflejo de la base de datos.
|
Crear grupo de disponibilidad |
Primero, utilice el cmdlet New-SqlAvailabilityReplica con el parámetro -AsTemplate para crear un objeto de réplica de disponibilidad en memoria para cada una de las dos réplicas de disponibilidad que va a incluir en el grupo de disponibilidad. A continuación, cree el grupo de disponibilidad utilizando el cmdlet New-SqlAvailabilityGroup y haga referencia a los objetos de réplica de disponibilidad. |
Se ejecuta en la instancia del servidor que va a hospedar la réplica principal inicial. |
Unir la réplica secundaria al grupo de disponibilidad |
Join-SqlAvailabilityGroup |
Se ejecuta en cada una de las instancias del servidor que hospeda una réplica secundaria. |
Preparar la base de datos secundaria |
Backup-SqlDatabase y Restore-SqlDatabase |
Se crean las copias de seguridad de la instancia del servidor que hospeda la réplica principal. Se restauran las copias de seguridad de cada una de las instancias del servidor que hospedan una réplica de secundaria mediante el parámetro de restauración NoRecovery. Si las rutas de acceso de archivo difieren entre equipos que hospedan la réplica principal y la réplica secundaria de destino, utilice también el parámetro de restauración RelocateFile. |
Iniciar la sincronización de datos uniendo cada base de datos secundaria al grupo de disponibilidad |
Add-SqlAvailabilityDatabase |
Se ejecuta en cada una de las instancias del servidor que hospedan una réplica secundaria. |
* Para realizar una tarea determinada, cambie de directorio (cd) a la instancia o instancias del servidor indicadas.
[Top]
Para configurar y usar el proveedor de SQL Server PowerShell
[Top]
Usar PowerShell para crear y configurar un grupo de disponibilidad
[!NOTA]
Para ver la sintaxis y un ejemplo de un cmdlet dado, utilice el cmdlet Get-Help en el entorno de SQL Server PowerShell. Para obtener más información, vea Obtener ayuda de SQL Server PowerShell.
Cambie el directorio (cd) a la instancia de servidor que va a hospedar la réplica principal.
Cree un objeto de réplica de disponibilidad en memoria para la réplica principal.
Cree un objeto de réplica de disponibilidad en memoria para cada réplica secundaria.
Cree el grupo de disponibilidad.
[!NOTA]
La longitud máxima del nombre de un grupo de disponibilidad es 128 caracteres.
Una la nueva réplica secundaria al grupo de disponibilidad. Para obtener más información, vea Combinar una réplica secundaria con un grupo de disponibilidad (SQL Server).
Para cada base de datos del grupo de disponibilidad, cree una base de datos secundaria restaurando las copias de seguridad recientes de la base de datos principal, utilizando RESTORE WITH NORECOVERY.
Una cada nueva base de datos secundaria al grupo de disponibilidad. Para obtener más información, vea Combinar una réplica secundaria con un grupo de disponibilidad (SQL Server).
Opcionalmente, use el comando dir de Windows para comprobar el contenido del nuevo grupo de disponibilidad.
[!NOTA]
Si las cuentas de servicio de SQL Server de las instancias del servidor se ejecutan en cuentas de usuario de dominio diferentes, en cada instancia del servidor, cree un inicio de sesión para la otra instancia del servidor y conceda a este inicio de sesión el permiso CONNECT al extremo de creación de reflejo de la base de datos local.
[Top]
Ejemplo: Usar PowerShell para crear un grupo de disponibilidad
En el siguiente ejemplo de PowerShell se crea y configura un grupo de disponibilidad simple denominado MyAG con dos réplicas de disponibilidad y una base de datos de disponibilidad. El ejemplo:
Hace una copia de seguridad de MyDatabase y su registro de transacciones.
Restaura MyDatabase y su registro de transacciones, con la opción -NoRecovery.
Crea una representación de memoria de la réplica principal, que se hospedará en la instancia local de SQL Server (denominada PrimaryComputer\Instance).
Crea una representación de memoria de la réplica secundaria, que se hospedará en una instancia de SQL Server (denominada SecondaryComputer\Instance).
Crea un grupo de disponibilidad denominado MyAG.
Combina la réplica secundaria con el grupo de disponibilidad.
Combina la base de datos secundaria con el grupo de disponibilidad.
# Backup my database and its log on the primary
Backup-SqlDatabase `
-Database "MyDatabase" `
-BackupFile "\\share\backups\MyDatabase.bak" `
-ServerInstance "PrimaryComputer\Instance"
Backup-SqlDatabase `
-Database "MyDatabase" `
-BackupFile "\\share\backups\MyDatabase.log" `
-ServerInstance "PrimaryComputer\Instance" `
-BackupAction Log
# Restore the database and log on the secondary (using NO RECOVERY)
Restore-SqlDatabase `
-Database "MyDatabase" `
-BackupFile "\\share\backups\MyDatabase.bak" `
-ServerInstance "SecondaryComputer\Instance" `
-NoRecovery
Restore-SqlDatabase `
-Database "MyDatabase" `
-BackupFile "\\share\backups\MyDatabase.log" `
-ServerInstance "SecondaryComputer\Instance" `
-RestoreAction Log `
-NoRecovery
# Create an in-memory representation of the primary replica.
$primaryReplica = New-SqlAvailabilityReplica `
-Name "PrimaryComputer\Instance" `
-EndpointURL "TCP://PrimaryComputer.domain.com:5022" `
-AvailabilityMode "SynchronousCommit" `
-FailoverMode "Automatic" `
-Version 11 `
-AsTemplate
# Create an in-memory representation of the secondary replica.
$secondaryReplica = New-SqlAvailabilityReplica `
-Name "SecondaryComputer\Instance" `
-EndpointURL "TCP://SecondaryComputer.domain.com:5022" `
-AvailabilityMode "SynchronousCommit" `
-FailoverMode "Automatic" `
-Version 11 `
-AsTemplate
# Create the availability group
New-SqlAvailabilityGroup `
-Name "MyAG" `
-Path "SQLSERVER:\SQL\PrimaryComputer\Instance" `
-AvailabilityReplica @($primaryReplica,$secondaryReplica) `
-Database "MyDatabase"
# Join the secondary replica to the availability group.
Join-SqlAvailabilityGroup -Path "SQLSERVER:\SQL\SecondaryComputer\Instance" -Name "MyAG"
# Join the secondary database to the availability group.
Add-SqlAvailabilityDatabase -Path "SQLSERVER:\SQL\SecondaryComputer\Instance\AvailabilityGroups\MyAG" -Database "MyDatabase"
Tareas relacionadas
Para configurar una instancia del servidor para grupos de disponibilidad AlwaysOn
Para configurar el grupo de disponibilidad y las propiedades de réplica
Cambiar el modo de disponibilidad de una réplica de disponibilidad (SQL Server)
Cambiar el modo de conmutación por error de una réplica de disponibilidad (SQL Server)
Crear o configurar un agente de escucha del grupo de disponibilidad (SQL Server)
Configurar la copia de seguridad en réplicas de disponibilidad (SQL Server)
Configurar el acceso de solo lectura en una réplica de disponibilidad (SQL Server)
Configurar el enrutamiento de solo lectura para un grupo de disponibilidad (SQL Server)
Cambiar el tiempo de espera de la sesión en una réplica de disponibilidad (SQL Server)
Para completar la configuración del grupo de disponibilidad
Combinar una réplica secundaria con un grupo de disponibilidad (SQL Server)
Preparar manualmente una base de datos secundaria para un grupo de disponibilidad (SQL Server)
Combinar una base de datos secundaria con un grupo de disponibilidad (SQL Server)
Crear o configurar un agente de escucha del grupo de disponibilidad (SQL Server)
Maneras alternativas de crear un grupo de disponibilidad
Usar el Asistente para nuevo grupo de disponibilidad (SQL Server Management Studio)
Usar el cuadro de diálogo Nuevo grupo de disponibilidad (SQL Server Management Studio)
Para solucionar de problemas de configuración de grupos de disponibilidad de AlwaysOn
[Top]
Contenido relacionado
**Blogs: **
Configurar AlwaysOn con SQL Server PowerShell
Blogs del equipo de AlwaysOn de SQL Server: el blog oficial del equipo de AlwaysOn de SQL Server
**Vídeos: **
Notas del producto:
Notas del producto de Microsoft para SQL Server 2012
Notas del producto del equipo de asesoramiento al cliente de SQL Server
[Top]
Vea también
Conceptos
El extremo de creación de reflejo de la base de datos (SQL Server)
Información general de los grupos de disponibilidad AlwaysOn (SQL Server)