Partager via


Add-SqlAvailabilityDatabase

Ajoute des bases de données principales à un groupe de disponibilité ou joint des bases de données secondaires à un groupe de disponibilité.

Syntaxe

ByPath (Par défaut)

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

ByObject

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

Description

L’applet de commande Add-SqlAvailabilityDatabase ajoute des bases de données principales à un groupe de disponibilité ou joint des bases de données secondaires à un groupe de disponibilité. Le paramètre InputObject ou Path spécifie le groupe de disponibilité. Une base de données ne peut appartenir qu’à un seul groupe de disponibilité.

Pour ajouter des bases de données à un groupe de disponibilité, exécutez cette applet de commande sur l’instance de serveur qui héberge le réplica principal. Spécifiez une ou plusieurs bases de données utilisateur locales.

Pour joindre une base de données secondaire au groupe de disponibilité, préparez manuellement la base de données secondaire sur l’instance de serveur qui héberge le réplica secondaire. Exécutez ensuite cette applet de commande sur l’instance de serveur qui héberge le réplica secondaire.

Exemples

Exemple 1 : Ajouter une base de données à un groupe de disponibilité

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

Cette commande ajoute la base de données Database16 au groupe de disponibilité MainAG. Exécutez cette commande sur l’instance de serveur principal du groupe de disponibilité. Cette commande ne prépare pas les bases de données secondaires pour la synchronisation des données.

Exemple 2 : Joindre une base de données à un groupe de disponibilité

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

Cette commande joint une base de données secondaire nommée Database16 au groupe de disponibilité MainAG sur l’une des instances de serveur qui héberge un réplica secondaire.

Exemple 3 : Ajouter une base de données et joindre une base de données secondaire à un groupe de 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"

Cet exemple prépare une base de données secondaire à partir d’une base de données sur l’instance de serveur qui héberge le réplica principal d’un groupe de disponibilité. Il ajoute la base de données à un groupe de disponibilité en tant que base de données primaire. Enfin, il joint la base de données secondaire au groupe de disponibilité.

Les quatre premières commandes stockent les chemins d’accès dans des variables à utiliser plus loin dans l’exemple. Les commandes attribuent des valeurs aux variables $DatabaseBackupFile, $LogBackupFile, $AGPrimaryPath et $AGSecondaryPath.

La cinquième commande sauvegarde la base de données nommée Database16 qui se trouve sur le serveur principal à l’emplacement dans $DatabaseBackupFile.

La sixième commande sauvegarde le fichier journal de Database16 sur le serveur principal à l’emplacement dans $LogBackupFile.

La septième commande restaure la sauvegarde de base de données pour Database16 sur un serveur secondaire.

La huitième commande restaure le fichier journal de Database16 sur un serveur secondaire.

La neuvième commande ajoute la base de données au groupe de disponibilité sur le serveur principal.

La commande finale joint la base de données secondaire pour ce réplica au groupe de disponibilité. Si vous avez plusieurs réplicas secondaires, restaurez et joignez la base de données secondaire pour chacune d’entre elles.

Exemple 4 : Créer un script pour ajouter une base de données à un groupe de disponibilité

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

Cette commande crée un script Transact-SQL qui ajoute la base de données Database16 au groupe de disponibilité MainAG.

Paramètres

-Confirm

Vous invite à confirmer avant d’exécuter l’applet de commande.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:False
Prend en charge les caractères génériques:False
DontShow:False
Alias:cf

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Database

Spécifie un tableau de bases de données utilisateur. Cette applet de commande ajoute ou joint les bases de données spécifiées par ce paramètre au groupe de disponibilité. Les bases de données que vous spécifiez doivent résider sur l’instance locale de SQL Server.

Propriétés du paramètre

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:True
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False

-InputObject

Spécifie le groupe de disponibilité, en tant qu’objet AvailabilityGroup , auquel cette applet de commande ajoute ou joint des bases de données.

Propriétés du paramètre

Type:

AvailabilityGroup[]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

ByObject
Position:2
Obligatoire:True
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Path

Spécifie le chemin d’accès d’un groupe de disponibilité auquel cette applet de commande ajoute ou joint des bases de données. Si vous ne spécifiez pas ce paramètre, cette applet de commande utilise l’emplacement de travail actuel.

Propriétés du paramètre

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

ByPath
Position:2
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Script

Indique que cette applet de commande retourne un script Transact-SQL qui effectue la tâche effectuée par cette applet de commande.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-WhatIf

Affiche ce qui se passerait si l’applet de commande s’exécute. L’applet de commande ne s’exécute pas.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:False
Prend en charge les caractères génériques:False
DontShow:False
Alias:Wi

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

CommonParameters

Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.

Entrées

Microsoft.SqlServer.Management.Smo.AvailabilityGroup