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é.
[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
Vérifiez que le schéma et les données sont copiés dans la base de données d'abonnement.
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.
[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
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é.
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).
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.
Sur l'Abonné, exécutez sp_addpullsubscription_agent. Pour plus d'informations, consultez Créer un abonnement par extraction de données (pull).
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
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é.
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.
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).
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
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é.
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.
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.
Sur l'Abonné, exécutez sp_addmergepullsubscription_agent. Pour plus d'informations, consultez Créer un abonnement par extraction de données (pull).
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
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é.
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.
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).
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).
[Top]
Voir aussi
Concepts
Initialiser un abonnement transactionnel sans instantané