Condividi tramite


Add-SqlAvailabilityDatabase

Aggiunge database primari a un gruppo di disponibilità o aggiunge database secondari a un gruppo di disponibilità.

Sintassi

ByPath (impostazione predefinita).

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

ByObject

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

Descrizione

Il cmdlet Add-SqlAvailabilityDatabase aggiunge database primari a un gruppo di disponibilità o aggiunge database secondari a un gruppo di disponibilità. Il parametro InputObject o Path consente di specificare il gruppo di disponibilità. Un database può appartenere a un solo gruppo di disponibilità.

Per aggiungere database a un gruppo di disponibilità, eseguire questo cmdlet nell'istanza del server che ospita la replica primaria. Specificare uno o più database utente locali.

Per aggiungere un database secondario al gruppo di disponibilità, preparare manualmente il database secondario nell'istanza del server che ospita la replica secondaria. Eseguire quindi questo cmdlet nell'istanza del server che ospita la replica secondaria.

Esempio

Esempio 1: Aggiungere un database a un gruppo di disponibilità

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

Questo comando aggiunge il database Database16 al gruppo di disponibilità MainAG. Eseguire questo comando nell'istanza del server primario del gruppo di disponibilità. Questo comando non prepara i database secondari per la sincronizzazione dei dati.

Esempio 2: Aggiungere un database a un gruppo di disponibilità

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

Questo comando aggiunge un database secondario denominato Database16 al gruppo di disponibilità MainAG in una delle istanze del server che ospita una replica secondaria.

Esempio 3: Aggiungere un database e aggiungere un database secondario a un gruppo di disponibilità

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"

In questo esempio viene preparato un database secondario da un database nell'istanza del server che ospita la replica primaria di un gruppo di disponibilità. Aggiunge il database a un gruppo di disponibilità come database primario. Infine, aggiunge il database secondario al gruppo di disponibilità.

I primi quattro comandi archiviano i percorsi nelle variabili da usare più avanti nell'esempio. I comandi assegnano valori alle variabili di $DatabaseBackupFile, $LogBackupFile, $AGPrimaryPath e $AGSecondaryPath.

Il quinto comando esegue il backup del database denominato Database16 che si trova nel server primario nel percorso in $DatabaseBackupFile.

Il sesto comando esegue il backup del file di log per Database16 nel server primario nel percorso in $LogBackupFile.

Il settimo comando ripristina il backup del database per Database16 in un server secondario.

L'ottavo comando ripristina il file di log per Database16 in un server secondario.

Il nono comando aggiunge il database al gruppo di disponibilità nel server primario.

Il comando finale aggiunge il database secondario per tale replica al gruppo di disponibilità. Se sono presenti più repliche secondarie, ripristinare e aggiungere il database secondario per ognuna di esse.

Esempio 4: Creare uno script per aggiungere un database a un gruppo di disponibilità

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

Questo comando crea uno script Transact-SQL che aggiunge il database Database16 al gruppo di disponibilità MainAG.

Parametri

-Confirm

Richiede conferma prima di eseguire il cmdlet.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:False
Supporta i caratteri jolly:False
DontShow:False
Alias:cfr

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Database

Specifica una matrice di database utente. Questo cmdlet aggiunge o aggiunge i database specificati da questo parametro al gruppo di disponibilità. I database specificati devono trovarsi nell'istanza locale di SQL Server.

Proprietà dei parametri

Tipo:

String[]

Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:True
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-InputObject

Specifica il gruppo di disponibilità, come oggetto AvailabilityGroup , a cui questo cmdlet aggiunge o aggiunge database.

Proprietà dei parametri

Tipo:

AvailabilityGroup[]

Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

ByObject
Posizione:2
Obbligatorio:True
Valore dalla pipeline:True
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Path

Specifica il percorso di un gruppo di disponibilità a cui questo cmdlet aggiunge o aggiunge database. Se non si specifica questo parametro, questo cmdlet usa la posizione di lavoro corrente.

Proprietà dei parametri

Tipo:

String[]

Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

ByPath
Posizione:2
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Script

Indica che questo cmdlet restituisce un Transact-SQL script che esegue l'attività eseguita da questo cmdlet.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-WhatIf

Mostra gli effetti dell'esecuzione del cmdlet. Il cmdlet non viene eseguito.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:False
Supporta i caratteri jolly:False
DontShow:False
Alias:Wi

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

CommonParameters

Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedi about_CommonParameters.

Input

Microsoft.SqlServer.Management.Smo.AvailabilityGroup