Environnement: SQL Server 2005 SP2 (9.0.3077) Publications transactionnelles (__gVirt_NP_NN_NNPS<__ Production et Beta)SQL Server 2005 Replication
J'ai une situation où j'ai deux différentes publications configuration de réplication qui utilisent certains des mêmes articles . Chacune de ces publications alimente un abonné sur une machine différente. L'un de ces articles partagés est un tableau. À intervalles réguliers, de nombreux enregistrements de ce tableau vieillissent et ne sont plus nécessaires. À ce moment une procédure stockée qui supprime des enregistrements est appelée. Pour économiser sur les ressources et améliorer les temps de latence pour les abonnés, j'ai défini la propriété replicate de cette procédure stockée sur "Exécution de la procédure stockée" au lieu de la valeur par défaut "Définition de procédure stockée uniquement". Ainsi, lorsque la procédure stockée supprime 2 000 000 d'enregistrements, ceux-ci ne sont pas répliqués vers les abonnés. Au lieu de cela, l'exécution de la procédure stockée est répliquée et la même procédure stockée répliquée sur les abonnés est exécutée et elle supprime les mêmes 2 000 000+ lignes.
Le problème que j'ai est avec ma deuxième publication. Comme je n'avais pas besoin de ce type de comportement, j'ai laissé la propriété article sur la procédure stockée définie sur "Définition de la procédure stockée uniquement" et attendait la réplication pour supprimer les lignes de l'autre abonné, mais ce n'était pas le cas. La table chez l'abonné a continué à gagner des records. Donc, pour le réparer, j'ai mis la propriété de l'article à "Exécution ..." et l'a appelé bon. Ce qui est probablement la meilleure solution, donc la version bêta correspond à la production, mais elle ressemble toujours à un kludge car les propriétés de la publication doivent fonctionner indépendamment les unes des autres. Question: Pourquoi la propriété article "Exécution de la procédure stockée" at-elle priorité et est-elle appliquée à l'autre publication même si elle est définie sur "Définition de la procédure stockée uniquement" dans l'autre publication?
Ne voulant pas lire Stackoverlfow ici, mais cette question est une requête assez avancée de réplication SQL Server. Je suggère de l'afficher sur le forum de réplication de Microsoft SQL Server, puis de mettre à jour ce post avec les résultats. –
Pendant que je travaille sur certaines choses de réplication maintenant, je suis d'accord avec John. C'est une question assez difficile. Bonne chance. :) Peut-être attendre jusqu'à ce que quelqu'un fasse querytimeout.com –
D'accord, Hillary Cotter est un expert de la réplication bien connu et regarde le forum de réplication du serveur sql http://social.msdn.microsoft.com/Forums/en-US/sqlreplication –