Збереження реплікації знімка


13

На моєму виробничому сервері SQL Server 2008 налаштовано реплікацію знімка, і я щойно помітив, що в папці знімків є знімки від року тому. Як я можу змінити збереження цих знімків? Зокрема, я хотів би зберегти знімки протягом 5 днів.

Ось скріншот папки, яку я переглядаю: Папка реплікації


Я спробував усі можливі способи, які ви пояснили, але все ще маю ту саму проблему, що і деякі пояснювали дуже рано.

Відповіді:


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 місяці, якщо це можливо.

Якщо ваша база даних розподілу також використовується для транзакційної реплікації, ви, можливо, могли б бачити, що база даних розподілу зростає значно.

Сподіваюся, це допомагає,

Метт


де я встановити збереження розподілу?
DForck42

2
@ DForck42 У SSMS правою кнопкою миші натисніть реплікацію та клацніть правою кнопкою миші. Звідти ви можете налаштувати період утримання транзакційних операцій.
Метт М

1

Спробуйте це:

Перейдіть до властивостей монітора реплікації (клацніть правою кнопкою миші на моніторі реплікації -> властивості) і там ви побачите період збереження історії. Ви повинні мати змогу встановити його там.


Я не думаю, що це стосується реплікації знімка.
Кеннет
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.