Je n'ai cependant pas testé ce point en particulier : L'arrêt d'une transaction en cours, en soi, ne causera pas nécessairement de problèmes et fera marche arrière - toute sorte de transaction, y compris les transactions répliquées sur un abonné à partir d'un éditeur. Cela est dû aux propriétés ACID qui s'appliquent toujours aux transactions, en particulier, la propriété A être Atomicité - Soit tout se passe dans une transaction, soit rien ne se passe. Ainsi, une transaction arrêtée ou ayant échoué sera totalement annulée.
Je ne connais pas d'autre moyen d'empêcher la réplication de la transaction, mais il faut utiliser sp_setsubscriptionxactseqno
avec prudence, car non seulement vous devez vous assurer que le LSN est correct, mais quoi qu'il arrive, cela signifie que votre éditeur et votre abonné ne sont plus vraiment synchronisés. Dans la pratique, cela peut ne pas avoir d'importance, mais il faut en tenir compte.
Si vous ne l'avez pas encore fait, jetez un coup d'oeil à Technet / MSDN (plus ou moins le même article selon que vous préférez Tnet ou devNet), si vous ne l'avez pas déjà fait, et cet article de blog sur MSDN ça va nous aider. N.B. sp_setsubscriptionxactseqno
doit être exécuté sur l'abonné (et sur chaque abonné sur lequel vous voulez qu'il saute).
L'alternative, et en l'absence d'autres informations, ce que je recommanderais, c'est de le laisser fonctionner. Ce n'est peut-être pas idéal, mais c'est la solution la plus sûre et la moins coûteuse. Le système est-il à ce point critique et dépendant du temps que ces deux jours causeront des problèmes importants ?
Enfin, à titre de conseil général, si vous n'êtes pas sûr de ce que vous devez faire, laissez la décision à votre supérieur hiérarchique. Présentez les options, le travail à accomplir et les risques/impacts (y compris l'option consistant à ne rien faire), et blâmez (de manière subtile et adaptée à la politique du bureau) la personne qui a provoqué l'"accident" initial (à moins qu'il ne s'agisse de vous, auquel cas vous ne voudrez peut-être pas en parler aux supérieurs).