Procédure : initialiser manuellement un abonnement (programmation Transact-SQL de la réplication)

La capture instantanée initiale est normalement utilisée pour initialiser un abonnement, mais les abonnements aux publications peuvent être initialisés sans utiliser de capture instantanée, à condition que le schéma et les données initiales soient déjà présents sur l'Abonné.

Important

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é.

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 Initialisation d'un abonnement transactionnel sans capture instantanée.

  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 Procédure : créer un abonnement par extraction de données (programmation Transact-SQL de réplication).

  3. Sur l'Abonné, exécutez sp_addpullsubscription. Pour les abonnements avec mise à jour, consultez Procédure : créer un abonnement pouvant être mis à jour à une publication transactionnelle (programmation Transact-SQL de la réplication).

  4. Sur l'Abonné, exécutez sp_addpullsubscription_agent. Pour plus d'informations, consultez Procédure : créer un abonnement par extraction de données (programmation Transact-SQL de réplication).

  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 Procédure : synchroniser un abonnement par extraction de données (pull) (Programmation de la réplication).

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 Initialisation d'un abonnement transactionnel sans capture instantanée.

  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 Procédure : créer un abonnement pouvant être mis à jour à une publication transactionnelle (programmation Transact-SQL de la réplication).

  3. Exécutez sp_addpushsubscription_agent sur la base de données de publication du serveur de publication. Pour plus d'informations, consultez Procédure : créer un abonnement par envoi de données (programmation Transact-SQL de réplication).

  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 Procédure : synchroniser un abonnement par envoi de données (push) (Programmation de la réplication).

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é. Pour plus d'informations, consultez Initialisation d'une réplication de fusion sans instantané.

  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 Procédure : créer un abonnement par extraction de données (programmation Transact-SQL de réplication).

  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 Procédure : synchroniser un abonnement par extraction de données (pull) (Programmation de la réplication).

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é. Pour plus d'informations, consultez Initialisation d'une réplication de fusion sans instantané.

  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 Procédure : créer un abonnement par envoi de données (programmation Transact-SQL de réplication).

  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 Procédure : synchroniser un abonnement par envoi de données (push) (Programmation de la réplication).