Adicione um banco de dados a um grupo de disponibilidade Always On

Aplica-se a:SQL Server

Este tópico descreve como adicionar um banco de dados a um grupo de disponibilidade AlwaysOn usando o SQL Server Management Studio, o Transact-SQL ou o PowerShell no SQL Server.

Pré-requisitos e restrições

Permissões

Requer a permissão ALTER AVAILABILITY GROUP no grupo de disponibilidade, a permissão CONTROL AVAILABILITY GROUP, a permissão ALTER ANY AVAILABILITY GROUP ou a permissão CONTROL SERVER.

Use SQL Server Management Studio.

  1. No Pesquisador de Objetos, conecte-se à instância de servidor que hospeda a réplica primária e expanda a árvore de servidores.

  2. Expanda os nós Alta Disponibilidade AlwaysOn e Grupos de Disponibilidade.

  3. Clique com o botão direito do mouse no grupo de disponibilidade e selecione um dos comandos a seguir:

    • Para iniciar o Assistente para Adicionar Banco de Dados a um Grupo de Disponibilidade, selecione o comando Adicionar Banco de Dados . Para obter mais informações, consulte Usar o Assistente para Adicionar Banco de Dados ao Grupo de disponibilidade (SQL Server Management Studio).

    • Para adicionar um ou mais bancos de dados especificando-os na caixa de diálogo Propriedades do Grupo de Disponibilidade , selecione o comando Propriedades . As etapas para adicionar um banco de dados são as seguintes:

      1. No painel Bancos de dados de Disponibilidade , clique no botão Adicionar . Isto cria e seleciona um campo de banco de dados em branco.

      2. Digite o nome de um banco de dados que atenda aos pré-requisitos dos bancos de dados de disponibilidade.

      Para adicionar outro banco de dados, repita as etapas acima. Ao concluir a especificação dos bancos de dados é feito, clique em OK para concluir a operação.

      Depois que você usar a caixa de diálogo Propriedades do Grupo de Disponibilidade para adicionar um banco de dados a um grupo de disponibilidade, configure o banco de dados secundário correspondente em cada instância de servidor que hospeda uma réplica secundária. Para obter mais informações, confira Iniciar movimentação de dados em um banco de dados secundário AlwaysOn (SQL Server).

Usar o Transact-SQL

  1. Conecte-se à instância de servidor que hospeda a instância do servidor que hospeda a réplica primária.

  2. Use a instrução ALTER AVAILABILITY GROUP , da seguinte maneira:

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

    em que group_name é o nome do grupo de disponibilidade e database_name é o nome de um banco de dados a ser adicionado ao grupo.

    O exemplo a seguir adiciona o banco de dados MyDb3 ao grupo de disponibilidade 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. Depois que você adicionar um banco de dados a um grupo de disponibilidade, configure o banco de dados secundário correspondente em cada instância de servidor que hospeda uma réplica secundária. Para obter mais informações, confira Iniciar movimentação de dados em um banco de dados secundário AlwaysOn (SQL Server).

Usar o PowerShell

  1. Altere o diretório (cd) para a instância de servidor que hospeda a réplica primária.

  2. Use o cmdlet Add-SqlAvailabilityDatabase .

    Por exemplo, o comando a seguir adiciona o banco de dados secundário MyDd ao grupo de disponibilidade MyAG , cuja réplica primária é hospedada por PrimaryServer\InstanceName.

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

    Observação

    Para exibir a sintaxe de um cmdlet, use o cmdlet Get-Help no ambiente do SQL Server PowerShell. Para obter mais informações, consulte Get Help SQL Server PowerShell.

  3. Depois que você adicionar um banco de dados a um grupo de disponibilidade, configure o banco de dados secundário correspondente em cada instância de servidor que hospeda uma réplica secundária. Para obter mais informações, confira Iniciar movimentação de dados em um banco de dados secundário AlwaysOn (SQL Server).

Para configurar e usar o provedor do SQL Server PowerShell

Para obter um exemplo completo, consulte Exemplo (PowerShell), abaixo.

Exemplo (PowerShell)

O exemplo a seguir mostra o processo completo para preparar um banco de dados secundário de um banco de dados na instância de servidor que hospeda a réplica primária de um grupo de disponibilidade, adicionando o banco de dados a um grupo de disponibilidade (como um banco de dados primário) e unindo o banco de dados secundário ao grupo de disponibilidade. Primeiro, o exemplo faz backup do banco de dados e de seu log de transação. Em seguida, o exemplo restaura os backups de banco de dados e log para as instâncias de servidor que hospedam uma réplica secundária.

O exemplo chama Add-SqlAvailabilityDatabase duas vezes. Primeiro, na réplica primária, para adicionar o banco de dados ao grupo de disponibilidade. Em seguida, na réplica secundária, para unir o banco de dados secundário nessa réplica ao grupo de disponibilidade. Se você tiver mais de uma réplica secundária, restaure e junção una o banco de dados secundário em cada um deles.

$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"  
  

Consulte Também

Visão geral dos Grupos de Disponibilidade AlwaysOn (SQL Server)
Criação e configuração de grupos de disponibilidade (SQL Server)
Usar o Painel AlwaysOn (SQL Server Management Studio)
Monitorar grupos de disponibilidade (Transact-SQL)