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 SQL Server Management Studio, Transact-SQL ou PowerShell no SQL Server 2014.
Antes de começar:
Para adicionar um banco de dados a um grupo de disponibilidade usando:
Antes de começar
Pré-requisitos e restrições
Você deve estar conectado à instância do servidor que hospeda a réplica primária.
O banco de dados deve residir na instância do servidor que hospeda a réplica primária e atender aos pré-requisitos e restrições para bancos de dados de disponibilidade. Para obter mais informações, consulte Pré-requisitos, restrições e recomendações para grupos de disponibilidade AlwaysOn (SQL Server).
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
No Pesquisador de Objetos, conecte-se à instância de servidor que hospeda a réplica primária e expanda a árvore de servidores.
Expanda os nós Alta Disponibilidade AlwaysOn e Grupos de Disponibilidade .
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:
No painel Bancos de dados de Disponibilidade , clique no botão Adicionar . Isto cria e seleciona um campo de banco de dados em branco.
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).
Usando o Transact-SQL
Para adicionar um banco de dados a um grupo de disponibilidade
Conecte-se à instância de servidor que hospeda a instância do servidor que hospeda a réplica primária.
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
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).
Usando o PowerShell
Para adicionar um banco de dados a um grupo de disponibilidade
Altere o diretório (
cd
) para a instância do servidor que hospeda a réplica primária.Use o cmdlet
Add-SqlAvailabilityDatabase
.Por exemplo, o comando a seguir adiciona o banco de dados secundário
MyDd
ao grupo de disponibilidadeMyAG
, cuja réplica primária é hospedada porPrimaryServer\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 SQL Server ambiente do PowerShell. Para obter mais informações, consulte Get Help SQL Server PowerShell.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 PowerShell SQL Server, consulte SQL Server Provedor do 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"
Consulte Também
Visão geral de grupos de disponibilidade AlwaysOn (SQL Server)
Criação e configuração de grupos de disponibilidade (SQL Server)
Use the AlwaysOn Dashboard (SQL Server Management Studio)
Monitorar grupos de disponibilidade (Transact-SQL)