Mam skonfigurowaną replikację migawek na moim serwerze produkcyjnym SQL Server 2008 i właśnie zauważyłem, że w folderze migawek są migawki sprzed roku. Jak mogę zmienić sposób przechowywania tych migawek? W szczególności chciałbym, aby przechowywał migawki przez 5 dni.
Oto zrzut ekranu folderu, na który patrzę:
sql-server
sql-server-2008
replication
DForck42
źródło
źródło
Odpowiedzi:
Zwykle jest to problem polegający na tym, że ze względów bezpieczeństwa uprawnienia do xp_cmdshell zostały zmodyfikowane. Ten problem może również wystąpić, jeśli konto SQL Agent nie ma wymaganych uprawnień sieciowych do usuwania danych z folderu replikacji.
Sprawdź, czy xp_cmdshell jest włączony i czy konto, które go wykonuje, ma odpowiednie uprawnienia.
Dane wyjściowe powinny wynosić:
źródło
Z mojego doświadczenia wynika, że przechowywanie folderów migawek działa w następujący sposób:
Jeśli anonimowi subskrybenci nie są włączeni dla tej publikacji i jeśli wszyscy subskrybenci wykorzystali migawkę, następne uruchomienie agenta czyszczenia usunie migawkę.
Jeśli anonimowi subskrybenci są włączeni i upłynął okres przechowywania dystrybucji, następne uruchomienie agenta czyszczącego usunie migawkę.
W sytuacji, w której chcesz zachować migawki przez 2 miesiące, możesz to zrobić, zezwalając na anonimowe subskrypcje i ustawiając utrzymanie dystrybucji na 2 miesiące, jeśli to możliwe.
Jeśli twoja dystrybucyjna baza danych jest również używana do replikacji transakcyjnej, możesz potencjalnie zauważyć, że dystrybucyjna baza danych znacznie się powiększa.
Mam nadzieję że to pomoże,
Matt
źródło
Spróbuj tego:
Przejdź do właściwości Monitora replikacji (kliknij prawym przyciskiem myszy Monitor replikacji -> Właściwości) i powinieneś zobaczyć tam okres przechowywania historii. Powinieneś być w stanie to tam ustawić.
źródło