Partilhar 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 2012.

  • Antes de começar:  

    Pré-requisitos e restrições

    Permissões

  • Para adicionar um banco de dados a um grupo de disponibilidade usando:  

    SQL Server Management Studio

    Transact-SQL

    PowerShell

Antes de começar

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.

Ícone de seta usado com o link Voltar ao Início[Início]

Usando 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 movimentação de dados em um banco de dados secundário AlwaysOn (SQL Server).

Ícone de seta usado com o link Voltar ao Início[Início]

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 ADD DATABASE database_name [,...n]

    onde 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 movimentação de dados em um banco de dados secundário AlwaysOn (SQL Server).

Ícone de seta usado com o link Voltar ao Início[Início]

Usando 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çãoObservaçã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 Obter Ajuda do 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 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 e, em seguida, na réplica secundária para unir o banco de dados secundário nessa réplica para o 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"

Ícone de seta usado com o link Voltar ao Início[Início]

Consulte também

Conceitos

Visão geral de 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)