Adicione um banco de dados a um grupo de disponibilidade Always OnAdd a Database to an Always On availability group

Aplica-se a:Applies to: simSQL ServerSQL Server (todas as versões compatíveis) yesSQL ServerSQL Server (all supported versions) Aplica-se a:Applies to: simSQL ServerSQL Server (todas as versões compatíveis) yesSQL ServerSQL Server (all supported versions)

Este tópico descreve como adicionar um banco de dados a um grupo de disponibilidade AlwaysOn usando o SQL Server Management StudioSQL Server Management Studio, o Transact-SQLTransact-SQLou o PowerShell no SQL ServerSQL Server.This topic describes how to add a database to an Always On availability group by using SQL Server Management StudioSQL Server Management Studio, Transact-SQLTransact-SQL, or PowerShell in SQL ServerSQL Server.

Pré-requisitos e restriçõesPrerequisites and Restrictions

PermissõesPermissions

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.Requires ALTER AVAILABILITY GROUP permission on the availability group, CONTROL AVAILABILITY GROUP permission, ALTER ANY AVAILABILITY GROUP permission, or CONTROL SERVER permission.

Usar o SQL Server Management StudioUse 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.In Object Explorer, connect to the server instance that hosts the primary replica, and expand the server tree.

  2. Expanda os nós Alta Disponibilidade AlwaysOn e Grupos de Disponibilidade.Expand the Always On High Availability node and the Availability Groups node.

  3. Clique com o botão direito do mouse no grupo de disponibilidade e selecione um dos comandos a seguir:Right-click the availability group, and select one of the following commands:

    • Para iniciar o Assistente para Adicionar Banco de Dados a um Grupo de Disponibilidade, selecione o comando Adicionar Banco de Dados .To launch the Add Database to Availability Group Wizard, select the Add Database command. Para obter mais informações, consulte Usar o Assistente para Adicionar Banco de Dados ao Grupo de disponibilidade (SQL Server Management Studio).For more information, see Use the Add Database to Availability Group Wizard (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 .To add one or more databases by specifying them in the Availability Group Properties dialog box, select the Properties command. As etapas para adicionar um banco de dados são as seguintes:The steps for adding a database are as follows:

      1. No painel Bancos de dados de Disponibilidade , clique no botão Adicionar .In the Availability Databases pane, click the Add button. Isto cria e seleciona um campo de banco de dados em branco.This creates and selects a blank database field.

      2. Digite o nome de um banco de dados que atenda aos pré-requisitos dos bancos de dados de disponibilidade.Enter the name of a database that meets the availability-databases prerequisites.

      Para adicionar outro banco de dados, repita as etapas acima.To add another database, repeat the preceding steps. Ao concluir a especificação dos bancos de dados é feito, clique em OK para concluir a operação.When you are done specifying databases, click OK to complete the operation.

      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.After you use the Availability Group Properties dialog box to add a database to an availability group, you need to configure the corresponding secondary database on each server instance that hosts a secondary replica. Para obter mais informações, veja Iniciar movimentação de dados em um banco de dados secundário (SQL Server).For more information, see Start Data Movement on an Always On Secondary Database (SQL Server).

Usar o Transact-SQLUse Transact-SQL

  1. Conecte-se à instância de servidor que hospeda a instância do servidor que hospeda a réplica primária.Connect to the server instance that hosts the server instance that hosts the primary replica.

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

    ALTER AVAILABILITY GROUP group_name ADD DATABASE database_name [,...n]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.where group_name is the name of the availability group and database_name is the name of a database to be added to the group.

    O exemplo a seguir adiciona o banco de dados MyDb3 ao grupo de disponibilidade MyAG .The following example adds the MyDb3 database to the MyAG availability group.

    -- 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.After you add a database to an availability group, you need to configure the corresponding secondary database on each server instance that hosts a secondary replica. Para obter mais informações, veja Iniciar movimentação de dados em um banco de dados secundário (SQL Server).For more information, see Start Data Movement on an Always On Secondary Database (SQL Server).

Usar o PowerShellUse PowerShell

  1. Altere o diretório (cd) para a instância de servidor que hospeda a réplica primária.Change directory (cd) to the server instance that hosts the primary replica.

  2. Use o cmdlet Add-SqlAvailabilityDatabase .Use the Add-SqlAvailabilityDatabase cmdlet.

    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.For example, the following command adds the secondary database MyDd to the MyAG availability group, whose primary replica is hosted by 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 ServerSQL Server PowerShell.To view the syntax of a cmdlet, use the Get-Help cmdlet in the SQL ServerSQL Server PowerShell environment. Para obter mais informações, consulte Get Help SQL Server PowerShell.For more information, see 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.After you add a database to an availability group, you need to configure the corresponding secondary database on each server instance that hosts a secondary replica. Para obter mais informações, veja Iniciar movimentação de dados em um banco de dados secundário (SQL Server).For more information, see Start Data Movement on an Always On Secondary Database (SQL Server).

Para configurar e usar o provedor do SQL Server PowerShellTo set up and use the SQL Server PowerShell provider

Para obter um exemplo completo, consulte Exemplo (PowerShell), abaixo.For a complete example, see Example (PowerShell), below.

Exemplo (PowerShell)Example (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.The following example shows the full process for preparing a secondary database from a database on the server instance that hosts the primary replica of an availability group, adding the database to an availability group (as a primary database), and then joining the secondary database to the availability group. Primeiro, o exemplo faz backup do banco de dados e de seu log de transação.First, the example backs up the database and its transaction log. 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.Then the example restores the database and log backups to the server instances that host a secondary replica.

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.The example calls Add-SqlAvailabilityDatabase twice: first on the primary replica to add the database to the availability group, and then on the secondary replica to join the secondary database on that replica to the availability group. 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.If you have more than one secondary replica, restore and join the secondary database on each of them.

$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émSee Also

Visão geral dos grupos de disponibilidade AlwaysOn (SQL Server) Overview of Always On Availability Groups (SQL Server)
Criação e configuração de grupos de disponibilidade (SQL Server) Creation and Configuration of Availability Groups (SQL Server)
Usar o Painel AlwaysOn (SQL Server Management Studio) Use the Always On Dashboard (SQL Server Management Studio)
Monitorar grupos de disponibilidade (Transact-SQL)Monitor Availability Groups (Transact-SQL)