ALTER HADR d’ensemble de la base de données (Transact-SQL)

 

THIS TOPIC APPLIES TO: yesSQL Server (starting with 2012)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Cette rubrique contient la syntaxe ALTER DATABASE pour le paramètre Groupes de disponibilité AlwaysOn options sur une base de données secondaire. L’une des options SET HADR sont autorisée par instruction ALTER DATABASE. Ces options sont prises en charge uniquement sur les réplicas secondaires.

Topic link icon Conventions de la syntaxe Transact-SQL

  
ALTER DATABASE database_name  
   SET HADR   
   {  
        { AVAILABILITY GROUP = group_name | OFF }  
   | { SUSPEND | RESUME }  
   }  
[;]  

database_name
Nom de la base de données secondaire à modifier.

SET HADR
Exécute la commande Groupes de disponibilité AlwaysOn spécifiée sur le serveur spécifié.

{Le groupe de disponibilité ** = ** nom_groupe | {OFF}
Joint ou supprime la base de données de disponibilité dans le groupe de disponibilité spécifié, comme suit :

nom_groupe
Attache la base de données spécifiée sur le réplica secondaire hébergé par l'instance de serveur sur laquelle vous exécutez la commande sur le groupe de disponibilité spécifié par group_name.

Les conditions préalables requises à cette opération sont les suivantes :

  • La base de données doit déjà avoir été ajoutée au groupe de disponibilité sur le réplica principal.

  • Le réplica principal doit être actif. Pour plus d’informations sur la façon de dépanner un réplica principal inactif, consultez dépannage toujours sur les groupes de Configuration de disponibilité (SQL Server).

  • Le réplica principal doit être en ligne et le réplica secondaire doit être connecté au réplica principal.

  • La base de données secondaire doit avoir été restaurée à l'aide de WITH NORECOVERY à partir de sauvegardes de base de données et de fichiers journaux récente de la base de données primaire, avec une dernière sauvegarde de fichier journal suffisamment récente pour permettre à la base de données secondaire de rattraper la base de données primaire.

    System_CAPS_ICON_note.jpg Remarque


    Pour ajouter une base de données au groupe de disponibilité, connectez-vous à l’instance de serveur qui héberge le réplica principal et utilisez la ALTER AVAILABILITY GROUPnom_groupe ADD DATABASE database_name instruction.

Pour plus d’informations, consultez Joindre une base de données secondaire à un groupe de disponibilité (SQL Server).

OFF
Supprime la base de données secondaire spécifiée du groupe de disponibilité spécifié.

La suppression d'une base de données secondaire peut être utile si elle est trop éloignée de la base de données primaire et que vous ne souhaitez pas attendre que la base de données secondaire rattrape son retard. Après la suppression de la base de données secondaire, vous pouvez mettre à jour par la restauration d’une séquence de sauvegardes se terminant par une sauvegarde récente du journal (à l’aide de restauration... AVEC L’OPTION NORECOVERY).

System_CAPS_ICON_important.jpg Important


Pour supprimer complètement une base de données de disponibilité d’un groupe de disponibilité, connectez-vous à l’instance de serveur qui héberge le réplica principal et utilisez la ALTER AVAILABILITY GROUPnom_groupe supprimer la base de données availability_database_name instruction. Pour plus d’informations, consultez supprimer une base de données primaire d’un groupe de disponibilité (SQL Server).

SUSPEND
Suspend le déplacement des données sur une base de données secondaire. Une commande SUSPEND 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é, l'interruption de la base de données se produit de façon asynchrone.

L'étendue de l'impact dépend de l'emplacement où vous exécutez l'instruction ALTER DATABASE :

  • Si vous suspendez une base de données secondaire sur un réplica secondaire, seule la base de données secondaire locale est suspendue. Les connexions existantes sur le réplica secondaire accessible en lecture restent utilisables. Les nouvelles connexions à la base de données suspendue sur le réplica secondaire accessible en lecture ne sont pas autorisées tant que le déplacement des données n'a pas repris.

  • Si vous suspendez une base de données sur le réplica principal, le déplacement des données est suspendu vers les bases de données secondaires correspondantes sur chaque réplica secondaire. Les connexions existantes sur une base de données secondaire accessible en lecture restent utilisables et nouvelles connexions d’intention de lecture ne se connecteront pas à des réplicas secondaires lisibles.

  • Lorsque le déplacement des données est suspendu en raison d'un basculement manuel forcé, les connexions au nouveau réplica secondaire ne sont pas autorisées pendant que le déplacement des données est suspendu.

Lorsqu'une base de données sur un réplica secondaire est suspendue, la base de données et le réplica deviennent désynchronisés et sont marquées comme NOT SYNCHRONIZED.

System_CAPS_ICON_important.jpg Important


Lorsqu'une base de données secondaire est suspendue, la file d'attente d'envoi de la base de données primaire correspondante accumule des enregistrements du journal des transactions non envoyés. Les connexions au réplica secondaire retournent des données qui étaient disponibles lorsque le déplacement des données a été suspendu.

System_CAPS_ICON_note.jpg Remarque


Suspension et reprise d’un toujours sur base de données secondaire n’affectent pas directement la disponibilité de la base de données primaire, bien que la suspension d’une base de données secondaire peut avoir un impact sur capacités de redondance et de basculement pour la base de données primaire, jusqu'à la reprise de la base de données secondaire interrompue. 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.

Pour plus d’informations, consultez interrompre une base de données de disponibilité (SQL Server).

RESUME
Reprend le déplacement des données suspendu sur la base de données secondaire spécifiée. 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.

L'étendue de l'impact dépend de l'emplacement où vous exécutez l'instruction ALTER DATABASE :

  • Si vous reprenez une base de données secondaire sur un réplica secondaire, seule la base de données secondaire locale est reprise. Le déplacement des données est repris, à moins que la base de données ait également été suspendue sur le réplica principal.

  • Si vous reprenez une base de données sur le réplica principal, le déplacement des données est repris vers chaque réplica secondaire sur lequel la base de données secondaire correspondante n'a pas été suspendue localement. Pour reprendre une base de données secondaire qui a été individuellement suspendue sur un réplica secondaire, connectez-vous à l'instance de serveur qui héberge le réplica secondaire et reprenez la base de données à cet endroit.

    En mode de validation synchrone, l'état de la base de données devient SYNCHRONIZING. Si aucune autre base de données n'est actuellement suspendue, l'état du réplica devient également SYNCHRONIZING.

    Pour plus d'informations, consultez Resume an Availability Database (SQL Server).

Lorsqu'une base de données secondaire est attachée à un groupe de disponibilité, le réplica secondaire local modifie l'état de cette base de données secondaire de RESTORING à ONLINE. Si une base de données secondaire est supprimée du groupe de disponibilité, le réplica secondaire local la fait repasser à l'état RESTORING. Cela vous permet d'appliquer des sauvegardes de journaux ultérieures depuis la base de données primaire vers cette base de données secondaire.

Exécutez les instructions ALTER DATABASE en dehors des transactions et des traitements.

Autorisations

Nécessite l'autorisation ALTER sur la base de données. Joindre une base de données à un groupe de disponibilité nécessite l’appartenance à la db_owner rôle fixe de base de données.

L'exemple suivant joint la base de données secondaire, AccountsDb1, au réplica secondaire local du groupe de disponibilité AccountsAG.

ALTER DATABASE AccountsDb1 SET HADR AVAILABILITY GROUP = AccountsAG;  

System_CAPS_ICON_note.jpg Remarque


Pour consulter cette instruction Transact-SQL utilisée en contexte, consultez Créer un groupe de disponibilité (Transact-SQL).

MODIFIER la base de données (Transact-SQL)
GROUPE de disponibilité ALTER (Transact-SQL)
CREATE AVAILABILITY GROUP (Transact-SQL)
Vue d’ensemble des groupes de disponibilité AlwaysOn ( SQL Server )
Résoudre les problèmes de Configuration des groupes de disponibilité AlwaysOn (SQL Server)

Ajouts de la communauté

AJOUTER
Afficher: