Initialiser manuellement un abonnement

Cette rubrique explique comment initialiser manuellement un abonnement dans SQL Server 2012 à l'aide de SQL Server Management Studio ou de Transact-SQL. L'instantané initial est normalement utilisé pour initialiser un abonnement, mais les abonnements aux publications peuvent être initialisés sans utiliser d'instantané, à condition que le schéma et les données initiales soient déjà présents sur l'Abonné.

Dans cette rubrique

  • Avant de commencer :

    Limitations et restrictions

  • Pour initialiser manuellement un abonnement à l'aide de :

    SQL Server Management Studio

    Transact-SQL

Avant de commencer

Limitations et restrictions

  • S'il existe une activité sur une base de données publiée à l'aide de la réplication transactionnelle entre le moment où les données et le schéma sont copiés vers l'Abonné et le moment auquel l'abonnement est initialisé manuellement, les modifications résultant de cette activité peuvent ne pas être répliquées vers l'Abonné.

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

Utilisation de SQL Server Management Studio

Initialisez manuellement un abonnement à une publication en copiant le schéma (et généralement les données) dans la base de données d'abonnement. Le schéma et les données doivent correspondre à la base de données de publication. Précisez ensuite que l'abonnement ne nécessite pas de schéma et de données dans la page Initialiser les abonnements de l'Assistant Nouvel abonnement. Pour plus d'informations sur l'accès à cet Assistant, consultez Initialiser un abonnement transactionnel sans instantané et Créer un abonnement par extraction de données (pull).

Lors de la première synchronisation de l'abonnement, les objets et les métadonnées dont la réplication a besoin sont copiés dans la base de données d'abonnement.

Pour initialiser manuellement un abonnement à une publication

  1. Vérifiez que le schéma et les données sont copiés dans la base de données d'abonnement.

  2. Désactivez la case à cocher Initialiser dans la page Initialiser les abonnements de l'Assistant Nouvel abonnement. Procédez de même pour chaque abonnement nécessitant uniquement la copie des objets et des métadonnées de réplication.

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

Utilisation de Transact-SQL

Les abonnements peuvent être initialisés manuellement à l'aide des procédures stockées de réplication.

Pour initialiser manuellement un abonnement par extraction à une publication transactionnelle

  1. Assurez-vous que le schéma et les données existent dans la base de données d'abonnement. Pour plus d'informations, consultez Initialiser un abonnement transactionnel sans instantané.

  2. Exécutez sp_addsubscription sur la base de données de publication du serveur de publication. Spécifiez @publication, @subscriber, le nom de la base de données sur l'Abonné contenant les données publiées pour @destination_db, la valeur pull pour @subscription_type et la valeur replication support only pour @sync_type. Pour plus d'informations, consultez Créer un abonnement par extraction de données (pull).

  3. Sur l'Abonné, exécutez sp_addpullsubscription. Pour les abonnements avec mise à jour, consultez Créer un abonnement pouvant être mis à jour pour une publication transactionnelle.

  4. Sur l'Abonné, exécutez sp_addpullsubscription_agent. Pour plus d'informations, consultez Créer un abonnement par extraction de données (pull).

  5. Démarrez l'Agent de distribution pour transférer des objets de réplication et télécharger les modifications les plus récentes à partir du serveur de publication. Pour plus d'informations, consultez Synchroniser un abonnement par extraction (pull).

Pour initialiser manuellement un abonnement par émission de données à une publication transactionnelle

  1. Assurez-vous que le schéma et les données existent dans la base de données d'abonnement. Pour plus d'informations, consultez Initialiser un abonnement transactionnel sans instantané.

  2. Exécutez sp_addsubscription sur la base de données de publication du serveur de publication. Spécifiez le nom de la base de données sur l'Abonné contenant les données publiées pour @destination_db, la valeur push pour @subscription_type et la valeur replication support only pour @sync_type. Pour les abonnements avec mise à jour, consultez Créer un abonnement pouvant être mis à jour pour une publication transactionnelle.

  3. Exécutez sp_addpushsubscription_agent sur la base de données de publication du serveur de publication. Pour plus d'informations, consultez Créer un abonnement par émission (push).

  4. Démarrez l'Agent de distribution pour transférer des objets de réplication et télécharger les modifications les plus récentes à partir du serveur de publication. Pour plus d'informations, consultez Synchroniser un abonnement par émission (push).

Pour initialiser manuellement un abonnement par extraction à une publication de fusion

  1. Assurez-vous que le schéma et les données existent dans la base de données d'abonnement. Pour cela, vous pouvez restaurer une sauvegarde de la base de données de publication sur l'Abonné.

  2. Sur le serveur de publication, exécutez sp_addmergesubscription. Spécifiez @publication, @subscriber, @subscriber_db et la valeur pull pour @subscription_type. Ceci inscrit l'abonnement par extraction.

  3. Exécutez sp_addmergepullsubscription sur l'Abonné, sur la base de données contenant les données publiées. Spécifiez la valeur none pour @sync_type.

  4. Sur l'Abonné, exécutez sp_addmergepullsubscription_agent. Pour plus d'informations, consultez Créer un abonnement par extraction de données (pull).

  5. Démarrez l'Agent de fusion pour transférer des objets de réplication et télécharger les modifications les plus récentes à partir du serveur de publication. Pour plus d'informations, consultez Synchroniser un abonnement par extraction (pull).

Pour initialiser manuellement un abonnement par émission de données à une publication de fusion

  1. Assurez-vous que le schéma et les données existent dans la base de données d'abonnement. Pour cela, vous pouvez restaurer une sauvegarde de la base de données de publication sur l'Abonné.

  2. Exécutez sp_addmergesubscription sur la base de données de publication du serveur de publication. Spécifiez le nom de la base de données sur l'Abonné contenant les données publiées pour @subscriber_db, la valeur push pour @subscription_type et la valeur none pour @sync_type.

  3. Exécutez sp_addmergepushsubscription_agent sur la base de données de publication du serveur de publication. Pour plus d'informations, consultez Créer un abonnement par émission (push).

  4. Démarrez l'Agent de fusion pour transférer des objets de réplication et télécharger les modifications les plus récentes à partir du serveur de publication. Pour plus d'informations, consultez Synchroniser un abonnement par émission (push).

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

Voir aussi

Concepts

Initialiser un abonnement transactionnel sans instantané

Sauvegarder et restaurer des bases de données répliquées

Méthodes préconisées en matière de sécurité de réplication