Ajouter une base de données à un groupe de disponibilité (SQL Server)

Cette rubrique explique comment ajouter une base de données à un groupe de disponibilité AlwaysOn à l'aide de SQL Server Management Studio, de Transact-SQL ou de PowerShell dans SQL Server 2012.

  • Avant de commencer :  

    Conditions préalables requises et restrictions

    Autorisations

  • Pour ajouter une base de données à un groupe de disponibilité, utilisez :  

    SQL Server Management Studio

    Transact-SQL

    PowerShell

Avant de commencer

Conditions préalables requises et restrictions

Autorisations

Requiert l'autorisation ALTER AVAILABILITY GROUP sur le groupe de disponibilité, l'autorisation CONTROL AVAILABILITY GROUP, l'autorisation ALTER ANY AVAILABILITY GROUP ou l'autorisation CONTROL SERVER.

Icône de flèche utilisée avec le lien Retour en haut[Haut de la page]

Utilisation de SQL Server Management Studio

Pour ajouter une base de données à un groupe de disponibilité

  1. Dans l'Explorateur d'objets, connectez-vous à l'instance de serveur qui héberge le réplica principal et développez l'arborescence du serveur.

  2. Développez le nœud Haute disponibilité AlwaysOn et le nœud Groupes de disponibilité.

  3. Cliquez avec le bouton droit sur le groupe de disponibilité, puis sélectionnez l'une des commandes suivantes :

    • Pour lancer l'Assistant Ajouter une base de données au groupe de disponibilité, sélectionnez la commande Ajouter une base de données. Pour plus d'informations, consultez Utiliser l'Assistant Ajouter une base de données au groupe de disponibilité (SQL Server Management Studio).

    • Pour ajouter une ou plusieurs bases de données en les spécifiant dans la boîte de dialogue Propriétés du groupe de disponibilité, sélectionnez la commande Propriétés. Les étapes d'ajout d'une base de données sont les suivantes :

      1. Dans le volet Bases de données de disponibilité, cliquez sur le bouton Ajouter. Cela permet de créer et de sélectionner un champ de base de données vide.

      2. Entrez le nom d'une base de données répondant aux exigences requises applicables aux bases de données de disponibilité.

      Pour ajouter une autre base de données, répétez les étapes précédentes. Lorsque vous avez terminé la spécification des bases de données, cliquez sur OK pour terminer l'opération.

      Après avoir utilisé la boîte de dialogue Propriétés du groupe de disponibilité pour ajouter une base de données à un groupe de disponibilité, vous devez configurer la base de données secondaire correspondante sur chaque instance de serveur qui héberge un réplica secondaire. Pour plus d'informations, consultez Démarrer un mouvement de données sur une base de données secondaire AlwaysOn (SQL Server).

Icône de flèche utilisée avec le lien Retour en haut[Haut de la page]

Utilisation de Transact-SQL

Pour ajouter une base de données à un groupe de disponibilité

  1. Connectez-vous à l'instance de serveur qui héberge l'instance de serveur qui héberge le réplica principal.

  2. Utilisez l'instruction ALTER AVAILABILITY GROUP, comme suit :

    ALTER AVAILABILITY GROUP group_name ADD DATABASE database_name [,...n]

    où group_name est le nom du groupe de disponibilité et database_name est le nom d'une base de données à ajouter au groupe.

    L'exemple suivant ajoute la base de données MyDb3 au groupe de disponibilité 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
    
  3. Après avoir ajouté une base de données à un groupe de disponibilité, vous devez configurer la base de données secondaire correspondante sur chaque instance de serveur qui héberge un réplica secondaire. Pour plus d'informations, consultez Démarrer un mouvement de données sur une base de données secondaire AlwaysOn (SQL Server).

Icône de flèche utilisée avec le lien Retour en haut[Haut de la page]

Utilisation de PowerShell

Pour ajouter une base de données à un groupe de disponibilité

  1. Accédez au répertoire (cd) de l'instance de serveur qui héberge le réplica principal.

  2. Utilisez l'applet de commande Add-SqlAvailabilityDatabase.

    Par exemple, la commande suivante ajoute la base de données secondaire MyDd au groupe de disponibilité MyAG, dont le réplica principal est hébergé par PrimaryServer\InstanceName.

    Add-SqlAvailabilityDatabase ` 
    -Path SQLSERVER:\SQL\PrimaryServer\InstanceName\AvailabilityGroups\MyAG ` 
    -Database "MyDb"
    

    [!REMARQUE]

    Pour afficher la syntaxe d'une applet de commande, utilisez l'applet de commande Get-Help dans l'environnement SQL Server PowerShell. Pour plus d'informations, consultez Obtenir de l'aide sur SQL Server PowerShell.

  3. Après avoir ajouté une base de données à un groupe de disponibilité, vous devez configurer la base de données secondaire correspondante sur chaque instance de serveur qui héberge un réplica secondaire. Pour plus d'informations, consultez Démarrer un mouvement de données sur une base de données secondaire AlwaysOn (SQL Server).

Pour configurer et utiliser le fournisseur SQL Server PowerShell

Pour obtenir un exemple complet, consultez l'exemple (PowerShell), ci-dessous.

Exemple (PowerShell)

L'exemple suivant illustre le processus complet de préparation d'une base de données secondaire à partir d'une base de données présente sur l'instance de serveur qui héberge le réplica principal d'un groupe de disponibilité, qui consiste à ajouter la base de données à un groupe de disponibilité (en tant que base de données primaire) puis à joindre la base de données secondaire au groupe de disponibilité. Dans cet exemple, la base de données et son journal de transactions sont d'abord sauvegardés. Les sauvegardes de la base de données et du journal sont ensuite restaurées sur les instances de serveur qui hébergent un réplica secondaire.

Dans cet exemple, l'applet de commande Add-SqlAvailabilityDatabase est appelée deux fois : d'abord sur le réplica principal pour ajouter la base de données au groupe de disponibilité, puis sur le réplica secondaire pour joindre la base de données secondaire présente sur ce réplica au groupe de disponibilité. Si vous avez plusieurs réplicas secondaires, restaurez et joignez la base de données secondaire sur chacun d'eux.

$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"

Icône de flèche utilisée avec le lien Retour en haut[Haut de la page]

Voir aussi

Concepts

Vue d'ensemble des groupes de disponibilité AlwaysOn (SQL Server)

Création et configuration des groupes de disponibilité (SQL Server)

Utiliser le tableau de bord AlwaysOn (SQL Server Management Studio)

Surveiller des groupes de disponibilité (Transact-SQL)