Share via


Agregar una base de datos a un grupo de disponibilidad (SQL Server)

En este tema se describe cómo agregar una base de datos a un grupo de disponibilidad AlwaysOn utilizando SQL Server Management Studio, Transact-SQL o PowerShell en SQL Server 2012.

  • Antes de empezar:  

    Requisitos previos y restricciones

    Permisos

  • Para agregar una base de datos a un grupo de disponibilidad, utilizando:  

    SQL Server Management Studio

    Transact-SQL

    PowerShell

Antes de empezar

Requisitos previos y restricciones

Permisos

Se requiere el permiso ALTER AVAILABILITY GROUP en el grupo de disponibilidad, el permiso CONTROL AVAILABILITY GROUP, el permiso ALTER ANY AVAILABILITY GROUP o el permiso CONTROL SERVER.

Icono de flecha usado con el vínculo Volver al principio[Arriba]

Usar SQL Server Management Studio

Para agregar una base de datos a un grupo de disponibilidad

  1. En el Explorador de objetos, conéctese a la instancia del servidor que hospeda la réplica principal y expanda el árbol.

  2. Expanda los nodos Alta disponibilidad de AlwaysOn y Grupos de disponibilidad.

  3. Haga clic con el botón secundario en el grupo de disponibilidad y seleccione uno de los siguientes comandos:

    • Para iniciar la función Agregar base de datos al Asistente para grupo de disponibilidad, seleccione el comando Agregar base de datos. Para obtener más información, vea Usar el Asistente para agregar una base de datos al grupo de disponibilidad (SQL Server Management Studio).

    • Para agregar una o varias bases de datos especificándolas en el cuadro de diálogo Propiedades de grupo de disponibilidad, seleccione el comando Propiedades. Los pasos para agregar una base de datos son los siguientes:

      1. En el panel Bases de datos de disponibilidad, haga clic en el botón Agregar. Esto crea y selecciona un campo de la base de datos en blanco.

      2. Escriba el nombre de una base de datos que cumpla los requisitos previos de las bases de datos de disponibilidad.

      Para agregar otra base de datos, repita los pasos anteriores. Cuando haya terminado de especificar las bases de datos, haga clic en Aceptar para completar la operación.

      Después de utilizar el cuadro de diálogo Propiedades de grupo de disponibilidad para agregar una base de datos a un grupo de disponibilidad, debe configurar la base de datos secundaria correspondiente en cada instancia de servidor que hospeda una réplica secundaria. Para obtener más información, vea Iniciar el movimiento de datos en una base de datos secundaria AlwaysOn (SQL Server).

Icono de flecha usado con el vínculo Volver al principio[Arriba]

Usar Transact-SQL

Para agregar una base de datos a un grupo de disponibilidad

  1. Conéctese a la instancia del servidor que hospeda la réplica principal.

  2. Use la instrucción ALTER AVAILABILITY GROUP del siguiente modo:

    ALTER AVAILABILITY GROUP group_name ADD DATABASE database_name [,...n]

    Donde group_name es el nombre del grupo de disponibilidad y database_name es el nombre de la base de datos que se va a agregar al grupo.

    En el ejemplo siguiente se agrega la base de datos MyDb3 al grupo de disponibilidad MyAG.

    -- Connect to the server instance that hosts the primary replica.
    -- Add an existing database to the availability group.
    ALTER AVAILABILITY GROUP MyAG ADD DATABASE MyDb3;
    GO
    
  3. Después de agregar una base de datos a un grupo de disponibilidad, debe configurar la base de datos secundaria correspondiente en cada instancia de servidor que hospeda una réplica secundaria. Para obtener más información, vea Iniciar el movimiento de datos en una base de datos secundaria AlwaysOn (SQL Server).

Icono de flecha usado con el vínculo Volver al principio[Arriba]

Usar PowerShell

Para agregar una base de datos a un grupo de disponibilidad

  1. Cambie el directorio (cd) a la instancia de servidor que hospeda la réplica principal.

  2. Utilice el cmdlet Add-SqlAvailabilityDatabase.

    Por ejemplo, el comando siguiente agrega la base de datos secundaria MyDd al grupo de disponibilidad MyAG, cuya réplica principal es hospedada por PrimaryServer\InstanceName.

    Add-SqlAvailabilityDatabase ` 
    -Path SQLSERVER:\SQL\PrimaryServer\InstanceName\AvailabilityGroups\MyAG ` 
    -Database "MyDb"
    

    [!NOTA]

    Para ver la sintaxis de un cmdlet, use el cmdlet Get-Help en el entorno de SQL Server PowerShell. Para obtener más información, vea Obtener ayuda de SQL Server PowerShell.

  3. Después de agregar una base de datos a un grupo de disponibilidad, debe configurar la base de datos secundaria correspondiente en cada instancia de servidor que hospeda una réplica secundaria. Para obtener más información, vea Iniciar el movimiento de datos en una base de datos secundaria AlwaysOn (SQL Server).

Para configurar y usar el proveedor de SQL Server PowerShell

Para obtener un ejemplo completo, vea Ejemplo (PowerShell), más adelante.

Ejemplo (PowerShell)

En el ejemplo siguiente se muestra el proceso completo para preparar una base de datos secundaria de una base de datos en la instancia del servidor que hospeda la réplica principal de un grupo de disponibilidad, agregando la base de datos a un grupo de disponibilidad (como una base de datos principal) y uniendo después la base de datos secundaria al grupo de disponibilidad. Primero, en el ejemplo se realiza una copia de seguridad de la base de datos y del registro de transacciones. En el ejemplo se restauran las copias de seguridad de la base de datos y de registros a las instancias de servidor que hospeda una réplica secundaria.

En el ejemplo se llama dos veces a Add-SqlAvailabilityDatabase: la primera en la réplica principal para agregar la base de datos al grupo de disponibilidad y después en la réplica secundaria para unir la base de datos secundaria de esa réplica al grupo de disponibilidad. Si tiene más de una réplica secundaria, restaure y una la base de datos secundaria en cada una de ellas.

$DatabaseBackupFile = "\\share\backups\MyDatabase.bak"
$LogBackupFile = "\\share\backups\MyDatabase.trn"
$MyAgPrimaryPath = "SQLSERVER:\SQL\PrimaryServer\InstanceName\AvailabilityGroups\MyAg"
$MyAgSecondaryPath = "SQLSERVER:\SQL\SecondaryServer\InstanceName\AvailabilityGroups\MyAg"

Backup-SqlDatabase -Database "MyDatabase" -BackupFile $DatabaseBackupFile -ServerInstance "PrimaryServer\InstanceName"
Backup-SqlDatabase -Database "MyDatabase" -BackupFile $LogBackupFile -ServerInstance "PrimaryServer\InstanceName" -BackupAction 'Log'

Restore-SqlDatabase -Database "MyDatabase" -BackupFile $DatabaseBackupFile -ServerInstance "SecondaryServer\InstanceName" -NoRecovery
Restore-SqlDatabase -Database "MyDatabase" -BackupFile $LogBackupFile -ServerInstance "SecondaryServer\InstanceName" -RestoreAction 'Log' -NoRecovery

Add-SqlAvailabilityDatabase -Path $MyAgPrimaryPath -Database "MyDatabase"
Add-SqlAvailabilityDatabase -Path $MyAgSecondaryPath -Database "MyDatabase"

Icono de flecha usado con el vínculo Volver al principio[Arriba]

Vea también

Conceptos

Información general de los grupos de disponibilidad AlwaysOn (SQL Server)

Creación y configuración de grupos de disponibilidad (SQL Server)

Usar el Panel de AlwaysOn (SQL Server Management Studio)

Supervisar grupos de disponibilidad (Transact-SQL)