2009-06-19 4 views
2

J'ai toutes sortes de difficultés à obtenir SQL Server (2005) pour fonctionner correctement. Lorsque j'exécute le client (SQL Server Express 2005) j'obtiens l'erreur suivante "L'instantané simultané pour la publication 'xx' n'est pas disponible car il n'a pas été entièrement généré ou le lecteur de journal A"L'instantané simultané pour publication « xx » est pas disponible parce qu'il n'a pas été entièrement généré ou le journal lecteur A

L'erreur est rognée .

J'ai essayé: - Suppression de l'abonnement - Suppression de la publication et de recommencer - Redémarrer le serveur et le client. - Réduire la base de données

Tout cela sans aucun changement.

Je sais que le client peut voir le partage réseau \ servername \ Repldata qui a un sous-dossier UNC avec l'instantané en elle (un dossier plus profond avec le codage PUBNAME et dateTime comme prévu)

des conseils ou des voyages serait être vraiment apprécié

+0

Pouvez-vous qualifier quel type de réplication que vous utilisez, instantané/transactionnel/fusion? Utilisez-vous des abonnements push ou pull? –

Répondre

0
  1. a l'instantané été généré pour la publication? Parfois, cela prend beaucoup de temps et parfois il est reporté à plus tard. Si c'est fait, vous devriez pouvoir le trouver sur disque quelque part.

  2. Assurez-vous que le journal lecteur fonctionne sur l'éditeur, si c'est la réplication transactionnelle, que je suppose qu'il est.

8

Mais voici la solution: http://social.msdn.microsoft.com/forums/en-US/sqlreplication/thread/baf99181-2fe1-4e6b-ba45-5d1d08103550/

1) supprimer l'abonnement & toute publication qui ne fonctionne pas

2) exécuter une sélection sur ces tables pour voir s'il y a encore lignes pour la base de données de publication disponible:

select * from msdb..MSdistpublishers 
select * from distribution..MSpublisher_databases 
select * from distribution..MSpublications 
select * from distribution..MSarticles 
select * from distribution..MSsubscriptions 

3) maintenant supprimer toutes les lignes qui ont encore le 'pub lisher_db » de la base de données de l'éditeur vient supprimé:

delete from distribution..MSarticles where publisher_db = '<NameOfDatabase>' 
delete from distribution..MSsubscriptions where publisher_db = '<NameOfDatabase>' 

4) recréez la publication & l'abonné comme normal

Cela devrait faire l'affaire :-)

+0

Pas besoin de s'excuser pour une réponse tardive - de telles contributions sont plus que bienvenues! –

0

Dans ma situation, il était en raison du fait que la table "MSSubscriptions" sur la base de données du distributeur avait nosync_type = 1 et status = 2. Changé ci-dessus à 0 et 1 respectivement.

réinitialisée à nouveau l'instantané et l'agent de distribution a commencé à ramasser ces changements.

0

Je viens réinitialisés à nouveau l'instantané (nouveau cliché, ne pas réutiliser ancien) et l'agent de distribution a commencé à ramasser ces changements.

Questions connexes