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

ByPath (Padrão)

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

ByObject

Add-SqlAvailabilityDatabase
    [-InputObject] <AvailabilityGroup[]>
    -Database <String[]>
    [-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 este cmdlet na instância do servidor que hospeda a réplica primária. 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 a réplica secundária. Em seguida, execute esse cmdlet na instância do servidor que hospeda a réplica secundária.

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 este 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 de servidor que hospeda uma réplica secundária.

Exemplo 3: Adicionar um banco de dados e ingressar um banco de dados secundário em 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 a réplica primária 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 posterior 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 no $LogBackupFile.

O sétimo comando restaura o backup do 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 essa réplica ao grupo de disponibilidade. Se você tiver mais de uma réplica secundária, restaure e ingresse no banco de dados secundário para cada uma delas.

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.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:False
Dá suporte a curingas:False
DontShow:False
Aliases:cf

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes: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.

Propriedades do parâmetro

Tipo:

String[]

Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:True
Valor do pipeline:True
Valor do pipeline pelo nome da propriedade:True
Valor dos argumentos restantes:False

-InputObject

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

Propriedades do parâmetro

Tipo:

AvailabilityGroup[]

Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

ByObject
Cargo:2
Obrigatório:True
Valor do pipeline:True
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes: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.

Propriedades do parâmetro

Tipo:

String[]

Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

ByPath
Cargo:2
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Script

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

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-WhatIf

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

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:False
Dá suporte a curingas:False
DontShow:False
Aliases:wi

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

CommonParameters

Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.

Entradas

Microsoft.SqlServer.Management.Smo.AvailabilityGroup