Compartilhar via


Adicionar um banco de dados a um grupo de disponibilidade (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 2014.

Antes de começar

Pré-requisitos e restrições

Segurança

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.

Como usar o SQL Server Management Studio.

Para adicionar um banco de dados a um grupo de disponibilidade

  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, consulte Iniciar a Movimentação de Dados em um Banco de Dados Secundário AlwaysOn (SQL Server).

Usando Transact-SQL

Para adicionar um banco de dados a um grupo de disponibilidade

  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 ADICIONAR 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, consulte Iniciar a Movimentação de Dados em um Banco de Dados Secundário AlwaysOn (SQL Server).

Como usar o PowerShell

Para adicionar um banco de dados a um grupo de disponibilidade

  1. Altere o diretório (cd) para a instância do 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 Get-Help cmdlet 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, consulte Iniciar a Movimentação de Dados em um Banco de Dados Secundário AlwaysOn (SQL Server).

Para configurar e usar o provedor do SQL Server PowerShell, consulte o Provedor do SQL Server 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 e, em seguida, na réplica secundária para ingressar 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)
Utilize o Painel AlwaysOn (SQL Server Management Studio)
Monitorar grupos de disponibilidade (Transact-SQL)