Reprendre une base de données de disponibilité (SQL Server)

S'applique à : SQL Server

Vous pouvez reprendre une base de données de disponibilité en pause dans les groupes de disponibilité Always On en utilisant SQL Server Management Studio, Transact-SQL ou PowerShell dans SQL Server. La reprise d'une base de données interrompue met la base de données dans l'état SYNCHRONIZING. La reprise de la base de données primaire rétablit également toutes ses bases de données secondaires qui ont été interrompues suite à l'interruption de la base de données primaire. Si une base de données secondaire a été interrompue localement, depuis l'instance de serveur qui héberge le réplica secondaire, cette base de données secondaire doit être reprise localement. Une fois qu'une base de données secondaire particulière et que la base de données principale correspondante sont dans l'état SYNCHRONIZING, la synchronisation des données reprend sur la base de données secondaire.

Notes

La suspension et la reprise d’une base de données secondaire Always On n’affectent pas directement la disponibilité de la base de données primaire. Toutefois, l'interruption d'une base de données secondaire peut avoir un impact sur la redondance et les fonctions de basculement de la base de données primaire, jusqu'à ce que la base de données secondaire interrompue reprenne. Ce comportement diffère de la mise en miroir de bases de données dans laquelle l'état de mise en miroir est interrompu à la fois sur la base de données miroir et la base de données principale tant que la mise en miroir n'a pas repris. L’interruption d’une base de données principale Always On interrompt le déplacement des données sur toutes les bases de données secondaires correspondantes, et les capacités de redondance et de basculement cessent pour cette base de données tant que la base de données principale n’a pas repris.

Limitations et restrictions

Une commande RESUME retourne dès qu'elle est acceptée par le réplica qui héberge la base de données cible, mais en réalité, la reprise de la base de données se produit de façon asynchrone.

Prérequis

  • Vous devez être connecté à l'instance de serveur qui héberge la base de données à reprendre.
  • Le groupe de disponibilité doit être en ligne.
  • La base de données primaire doit être en ligne et disponible.

Autorisations

Nécessite l'autorisation ALTER sur la base de données.

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.

Utilisation de SQL Server Management Studio

Pour reprendre une base de données secondaire

  1. Dans l'Explorateur d'objets, connectez-vous à l'instance de serveur qui héberge le réplica de disponibilité sur lequel vous souhaitez reprendre une base de données et développez l'arborescence du serveur.

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

  3. Développez le groupe de disponibilité.

  4. Développez le nœud Bases de données de disponibilité , cliquez avec le bouton droit sur la base de données, puis sélectionnez Reprendre le déplacement des données.

  5. Dans la boîte de dialogue Reprendre le déplacement des données , cliquez sur OK.

Notes

Pour reprendre des bases de données supplémentaires sur cet emplacement de réplica, répétez les étapes 4 et 5 pour chaque base de données.

Utilisation de Transact-SQL

Pour reprendre une base de données secondaire qui a été suspendue localement

  1. Connectez-vous à l'instance de serveur qui héberge le réplica secondaire dont vous souhaitez reprendre la base de données.

  2. Reprenez la base de données secondaire à l’aide de l’instruction ALTER DATABASE suivante :

    ALTER DATABASE nom_base_de_données SET HADR RESUME;

Utilisation de PowerShell

Pour reprendre une base de données secondaire

  1. Remplacez le répertoire (cd) par l’instance de serveur qui héberge le réplica dont vous souhaitez reprendre la base de données. Pour plus d'informations, consultez Conditions préalables requises, plus haut dans cette rubrique.

  2. Utilisez l’applet de commande Resume-SqlAvailabilityDatabase pour reprendre le groupe de disponibilité.

    Par exemple, la commande suivante reprend la synchronisation des données pour la base de données de disponibilité MyDb3 dans le groupe de disponibilité MyAg.

    Resume-SqlAvailabilityDatabase `   
    -Path SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MyAg\Databases\MyDb3  
    

    Notes

    Pour voir la syntaxe d’une applet de commande, utilisez l’applet de commande Get-Help dans l’environnement SQL Server PowerShell. Pour en savoir plus, voir Get Help SQL Server PowerShell.

Pour configurer et utiliser le fournisseur SQL Server PowerShell

Tâches associées

Voir aussi

Vue d’ensemble des groupes de disponibilité Always On (SQL Server)