Conservation de la réplication de cliché

12

J'ai installé la réplication d'instantanés sur mon serveur de production SQL Server 2008 et je viens de remarquer qu'il y a des instantanés remontant à il y a un an dans le dossier d'instantanés. Comment puis-je modifier la rétention de ces instantanés? Plus précisément, j'aimerais qu'il conserve des instantanés pendant 5 jours.

Voici une capture d'écran du dossier que je regarde: Dossier de réplication

DForck42
la source
J'ai essayé toutes les façons possibles que vous avez expliquées, mais j'ai toujours le même problème que quelqu'un a expliqué très tôt.

Réponses:

7

Il s'agit généralement d'un problème où les autorisations sur xp_cmdshell ont été modifiées pour des raisons de sécurité. Vous pouvez également rencontrer ce problème si le compte SQL Agent ne dispose pas des autorisations réseau requises pour supprimer des données de votre dossier de réplication.

  • Vérifiez que xp_cmdshell est activé et que le compte qui l'exécute dispose des autorisations appropriées.

    USE master
    GO
    EXEC sp_configure 'show advanced option', '1';
    reconfigure;
    GO
    exec sp_configure 'xp_cmdshell';

La sortie doit être:

name         minimum    maximum config_value run_value
xp_cmdshell  0          1       1            1
Kenneth
la source
Une dernière chose à vérifier est que vos travaux de nettoyage sont activés. J'ai vu des cas où le travail était tout simplement désactivé.
Kenneth
Eh bien, j'ai un travail appelé "Nettoyage de l'historie de l'agent: distribution", et il s'exécute très bien (et il est activé).
DForck42
J'ai activé xm_cmdshell plus tôt, et il montre maintenant ces résultats.
DForck42
4

D'après mon expérience, la conservation du dossier d'instantanés fonctionne comme ceci:

Si les abonnés anonymes ne sont pas activés pour cette publication et si tous les abonnés ont consommé l'instantané, la prochaine exécution de l'agent de nettoyage supprimera l'instantané.

Si les abonnés anonymes sont activés et que la période de conservation de la distribution s'est écoulée, la prochaine exécution de l'agent de nettoyage supprimera l'instantané.

Dans votre situation, où vous souhaitez conserver des instantanés pendant 2 mois, vous pouvez accomplir cela en autorisant les abonnements anonymes et en définissant la rétention de distribution sur 2 mois, si possible.

Si votre base de données de distribution est également utilisée pour la réplication transactionnelle, vous pourriez potentiellement voir la base de données de distribution augmenter considérablement.

J'espère que cela t'aides,

Mat

Matt M
la source
où dois-je définir la rétention de distribution?
DForck42
2
@ DForck42 Dans SSMS, Réplication clic droit et Propriétés du distributeur clic gauche. De là, vous pouvez ajuster la période de rétention transactionnelle.
Matt M
1

Essaye ça:

Accédez aux propriétés du moniteur de réplication (cliquez avec le bouton droit sur Moniteur de réplication -> Propriétés) et vous devriez voir une période de rétention d'historique. Vous devriez pouvoir le définir là-bas.

Thomas Stringer
la source
Je ne pense pas que cela s'applique à la réplication d'instantanés.
Kenneth