Compartilhar via


Add-SqlAvailabilityDatabase

Adiciona bancos de dados primários a um grupo de disponibilidade ou une bancos de dados secundários a um grupo de disponibilidade.

Sintaxe

Add-SqlAvailabilityDatabase
   -Database <String[]>
   [[-Path] <String[]>]
   [-Script]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Add-SqlAvailabilityDatabase
   -Database <String[]>
   [-InputObject] <AvailabilityGroup[]>
   [-Script]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

O cmdlet Add-SqlAvailabilityDatabase adiciona bancos de dados primários a um grupo de disponibilidade ou une bancos de dados secundários a um grupo de disponibilidade. O parâmetro InputObject ou Path especifica o grupo de disponibilidade. Um banco de dados pode pertencer a apenas um grupo de disponibilidade.

Para adicionar bancos de dados a um grupo de disponibilidade, execute esse cmdlet na instância do servidor que hospeda o réplica primário. Especifique um ou mais bancos de dados de usuário locais.

Para unir um banco de dados secundário ao grupo de disponibilidade, prepare manualmente o banco de dados secundário na instância do servidor que hospeda o réplica secundário. Em seguida, execute esse cmdlet na instância do servidor que hospeda o réplica secundário.

Exemplos

Exemplo 1: Adicionar um banco de dados a um grupo de disponibilidade

PS C:\>Add-SqlAvailabilityDatabase -Path "SQLSERVER:\SQL\PrimaryServer\InstanceName\AvailabilityGroups\MainAG" -Database "Database16"

Esse comando adiciona o banco de dados Database16 ao grupo de disponibilidade MainAG. Execute esse comando na instância do servidor primário do grupo de disponibilidade. Esse comando não prepara bancos de dados secundários para sincronização de dados.

Exemplo 2: Unir um banco de dados a um grupo de disponibilidade

PS C:\>Add-SqlAvailabilityDatabase -Path "SQLSERVER:\SQL\SecondaryServer\InstanceName\AvailabilityGroups\MainAG" -Database "Database16"

Esse comando une um banco de dados secundário chamado Database16 ao grupo de disponibilidade MainAG em uma das instâncias do servidor que hospeda um réplica secundário.

Exemplo 3: Adicionar um banco de dados e unir um banco de dados secundário a um grupo de disponibilidade

PS C:\> $DatabaseBackupFile = "\\share\backups\Database16.bak"
PS C:\> $LogBackupFile = "\\share\backups\Database16.trn"
PS C:\> $AGPrimaryPath = "SQLSERVER:\SQL\PrimaryServer\InstanceName\AvailabilityGroups\MainAG"
PS C:\> $MyAGSecondaryPath = "SQLSERVER:\SQL\SecondaryServer\InstanceName\AvailabilityGroups\MainAG"
PS C:\> Backup-SqlDatabase -Database "Database16" -BackupFile $DatabaseBackupFile -ServerInstance "PrimaryServer\InstanceName"
PS C:\> Backup-SqlDatabase -Database "Database16" -BackupFile $LogBackupFile -ServerInstance "PrimaryServer\InstanceName" -BackupAction Log
PS C:\> Restore-SqlDatabase -Database "Database16" -BackupFile $DatabaseBackupFile -ServerInstance "SecondaryServer\InstanceName" -NoRecovery
PS C:\> Restore-SqlDatabase -Database "Database16" -BackupFile $LogBackupFile -ServerInstance "SecondaryServer\InstanceName" -RestoreAction Log -NoRecovery
PS C:\> Add-SqlAvailabilityDatabase -Path $AGPrimaryPath -Database 'Database16'
PS C:\> Add-SqlAvailabilityDatabase -Path $AGSecondaryPath -Database "Database16"

Este exemplo prepara um banco de dados secundário de um banco de dados na instância do servidor que hospeda o réplica primário de um grupo de disponibilidade. Ele adiciona o banco de dados a um grupo de disponibilidade como um banco de dados primário. Por fim, ele une o banco de dados secundário ao grupo de disponibilidade.

Os quatro primeiros comandos armazenam caminhos em variáveis para uso posteriormente no exemplo. Os comandos atribuem valores às variáveis $DatabaseBackupFile, $LogBackupFile, $AGPrimaryPath e $AGSecondaryPath.

O quinto comando faz backup do banco de dados chamado Database16 que está no servidor primário para o local em $DatabaseBackupFile.

O sexto comando faz backup do arquivo de log do Database16 no servidor primário para o local em $LogBackupFile.

O sétimo comando restaura o backup de banco de dados do Database16 em um servidor secundário.

O oitavo comando restaura o arquivo de log do Database16 em um servidor secundário.

O nono comando adiciona o banco de dados ao grupo de disponibilidade no servidor primário.

O comando final une o banco de dados secundário para esse réplica ao grupo de disponibilidade. Se você tiver mais de um réplica secundário, restaure e ingresse no banco de dados secundário para cada um deles.

Exemplo 4: Criar um script para adicionar um banco de dados a um grupo de disponibilidade

PS C:\>Add-SqlAvailabilityDatabase -Path "SQLSERVER:\SQL\PrimaryServer\InstanceName\AvailabilityGroups\MainAG" -Database "Database16" -Script

Esse comando cria um script Transact-SQL que adiciona o banco de dados Database16 ao grupo de disponibilidade MainAG.

Parâmetros

-Confirm

Solicita sua confirmação antes de executar o cmdlet.

Tipo:SwitchParameter
Aliases:cf
Cargo:Named
Valor padrão:False
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Database

Especifica uma matriz de bancos de dados de usuário. Esse cmdlet adiciona ou une os bancos de dados que esse parâmetro especifica ao grupo de disponibilidade. Os bancos de dados especificados devem residir na instância local do SQL Server.

Tipo:String[]
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-InputObject

Especifica o grupo de disponibilidade, como um objeto AvailabilityGroup , ao qual esse cmdlet adiciona ou une bancos de dados.

Tipo:AvailabilityGroup[]
Cargo:2
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-Path

Especifica o caminho de um grupo de disponibilidade ao qual esse cmdlet adiciona ou une bancos de dados. Se você não especificar esse parâmetro, esse cmdlet usará o local de trabalho atual.

Tipo:String[]
Cargo:2
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Script

Indica que esse cmdlet retorna um script Transact-SQL que executa a tarefa que esse cmdlet executa.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-WhatIf

Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.

Tipo:SwitchParameter
Aliases:wi
Cargo:Named
Valor padrão:False
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

Entradas

Microsoft.SqlServer.Management.Smo.AvailabilityGroup