Basculer entre les modes de mise à jour d’un abonnement transactionnel pouvant être mis à jour

S'applique à : SQL Server

Cette rubrique décrit comment basculer entre les modes de mise à jour d’un abonnement transactionnel pouvant être mise à jour dans SQL Server à l’aide de SQL Server Management Studio ou de Transact-SQL. Spécifiez le mode des abonnements pouvant être mis à jour à l'aide de l'Assistant Nouvel abonnement. Pour plus d’informations sur la définition de ce mode lors de l’utilisation de cet Assistant, consultez Afficher et modifier les propriétés d’un abonnement par extraction.

Dans cette rubrique

Avant de commencer

Limitations et restrictions

  • Vous pouvez basculer à tout instant d’une mise à jour immédiate vers une mise à jour en file d’attente. Après que vous avez basculé, cependant, vous ne pouvez pas repasser en mise à jour immédiate avant que l'abonné et le serveur de publication ne soient connectés et que l'Agent de lecture de la file d'attente n'ait appliqué tous les messages en attente dans la file d'attente sur le serveur de publication.

Recommandations

  • Lorsqu'un abonnement avec mise à jour à une publication transactionnelle prend en charge le basculement d'un mode de mise à jour vers un autre, vous pouvez basculer par programmation les modes de mise à jour pour gérer les situations où la connectivité change pendant une courte période de temps. Le mode de mise à jour peut être défini par programmation et à la demande à l'aide de procédures stockées de réplication. Pour plus d’informations, voir Updatable Subscriptions for Transactional Replication.

Utilisation de SQL Server Management Studio

Remarque

Pour modifier le mode de mise à jour après que l'abonnement a été créé, vous devez affecter à la propriété update_mode la valeur failover (qui permet de basculer de la mise à jour immédiate vers la mise à jour en attente) ou queued failover (qui permet de basculer de la mise à jour en attente vers la mise à jour immédiate) lors de la création de l'abonnement. Ces propriétés sont automatiquement définies dans l'Assistant Nouvel abonnement.

Pour définir le mode de mise à jour d'un abonnement envoyé

  1. Connectez-vous à l’abonné dans SQL Server Management Studio, puis développez le nœud du serveur.

  2. Développez le dossier Réplication , puis développez le dossier Abonnements locaux .

  3. Cliquez avec le bouton droit sur l'abonnement dont vous voulez définir le mode de mise à jour puis cliquez sur Définir la méthode de mise à jour.

  4. Dans la boîte de dialogue Définir la méthode de mise à jour - <Subscriber>: <SubscriptionDatabase>, sélectionnez Mise à jour immédiate ou Mise à jour en attente.

  5. Cliquez sur OK.

Pour définir le mode de mise à jour d'un abonnement extrait

  1. Dans la boîte de dialogue Propriétés de l’abonnement - <Publisher> :<PublicationDatabase>, sélectionnez une valeur Répliquer les modifications immédiatement ou Mettre les modifications en file d’attente pour l’option Méthode de mise à jour de l’Abonné.

  2. Cliquez sur OK.

Pour plus d’informations sur l’accès à la boîte de dialogue Propriétés de l’abonnement - <Serveur_de_publication>: <Base_de_données_de_publication>, consultez Afficher et modifier les propriétés d’un abonnement par extraction.

Utilisation de Transact-SQL

Pour basculer d'un mode de mise à jour vers un autre

  1. Vérifiez que l'abonnement prend en charge le basculement en exécutant sp_helppullsubscription pour un abonnement par extraction ou sp_helpsubscription pour un abonnement par émission de données. Si la valeur de mode de mise à jour dans le jeu de résultats est 3 ou 4, le basculement est pris en charge.

  2. Sur l'Abonné de la base de données d'abonnement, exécutez sp_setreplfailovermode. Spécifiez @publisher, de @publisher_db, de @publicationet affectez l'une des valeurs suivantes à @failover_mode:

    • mis en file d'attente - basculement sur la mise à jour en attente lorsque la connectivité a été perdue temporairement.

    • immédiat - basculement sur la mise à jour immédiate lorsque la connectivité a été restaurée.