Сохранение репликации моментальных снимков

12

На моем производственном сервере SQL Server 2008 настроена репликация моментальных снимков, и я только что заметил, что в папке моментальных снимков есть моментальные снимки, сделанные еще год назад. Как я могу изменить срок хранения этих снимков? В частности, я хотел бы сохранить снимки в течение 5 дней.

Вот скриншот папки, на которую я смотрю: Папка репликации

DForck42
источник
Я испробовал все возможные способы, которые вы объяснили, но все еще испытываете ту же проблему, что и кто-то объяснил ранее

Ответы:

7

Обычно это проблема, когда разрешения для xp_cmdshell были изменены по соображениям безопасности. Эта проблема также может возникнуть, если учетная запись агента SQL не имеет необходимых сетевых разрешений для удаления данных из папки репликации.

  • Убедитесь, что xp_cmdshell включен и что у учетной записи, выполняющей его, есть надлежащие разрешения.

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

Вывод должен быть:

name         minimum    maximum config_value run_value
xp_cmdshell  0          1       1            1
Кеннет
источник
Еще одна вещь, чтобы проверить, что ваши задания очистки включены. Я видел случаи, когда работа была просто отключена.
Кеннет
Что ж, у меня есть задание под названием «Очистка агента от его истории: распространение», и оно выполнялось очень хорошо (и оно включено).
DForck42
Ранее я включил xm_cmdshell, и теперь он показывает эти результаты.
DForck42
4

По моему опыту, сохранение папки моментальных снимков работает так:

Если анонимные подписчики не включены для этой публикации и если все подписчики использовали снимок, следующий запуск агента очистки удалит снимок.

Если анонимные подписчики включены и срок хранения рассылки истек, при следующем запуске агента очистки снимок удаляется.

В вашей ситуации, когда вы хотите сохранить моментальные снимки в течение 2 месяцев, вы можете сделать это, разрешив анонимные подписки и установив срок хранения рассылки 2 месяца, если это возможно.

Если ваша база данных распространения также используется для репликации транзакций, вы можете значительно увеличить базу данных распространения.

Надеюсь это поможет,

Matt

Мэтт М
источник
где я могу установить сохранение распределения?
DForck42
2
@ DForck42 В SSMS щелкните правой кнопкой мыши по репликации и щелкните левой кнопкой мыши по свойствам распространителя. Оттуда вы можете настроить срок хранения транзакций.
Мэтт М
1

Попробуй это:

Перейдите к свойствам монитора репликации (щелкните правой кнопкой мыши Replication Monitory -> Properties), и вы увидите там период хранения истории. Вы должны быть в состоянии установить его там.

Томас Стрингер
источник
Я не думаю, что это относится к репликации снимков.
Кеннет